/*
Theme Name: Spines & Stars
Theme URI: https://spinesandstars.com
Author: Spines & Stars
Description: A celestial WordPress community theme for Spines & Stars, built for readers to discover books, connect, discuss, and share what they are reading.
Version: 2.8.18
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: mybookorbit
*/

/*
===============================================================================
SPINES & STARS 2.7.4 CSS MAP
===============================================================================
01. Design system + reset
02. Global widths + typography
03. Header + navigation
04. Footer
05. Homepage hero
06. Homepage feature/community sections
07. Standard WordPress pages + forms
08. Book Reviews archive
09. Single Book Review
10. Shared cards, buttons, empty states
11. bbPress forums: global
12. bbPress forums: archive + categories
13. bbPress topics + editors
14. BuddyPress members directory
15. BuddyPress member navigation
16. BuddyPress public profile
17. BuddyPress account sections
18. Tablet responsive rules
19. Mobile responsive rules

EDITING RULE:
Keep future changes inside the matching numbered section. Site-wide colors and
widths should be changed in section 01 first instead of adding duplicate rules.
===============================================================================
*/

/* =============================================================================
   01. DESIGN SYSTEM + RESET
   ============================================================================= */
:root {
    /* Core neutrals: intentionally cool, not cream/beige. */
    --bo-black: #17161b;
    --bo-charcoal: #27252c;
    --bo-charcoal-2: #34313a;
    --bo-ink: #29272e;
    --bo-muted: #736d76;

    /* Page and card surfaces. */
    --bo-bg: #dcd9e0;
    --bo-bg-soft: #e6e2e8;
    --bo-surface: #f0edf2;
    --bo-surface-2: #e9e4ec;
    --bo-surface-dark: #2c2931;

    /* Brand accents. */
    --bo-plum: #715878;
    --bo-plum-dark: #58415e;
    --bo-plum-deep: #422f47;
    --bo-lavender: #c9bdce;
    --bo-lavender-soft: #ded6e3;
    --bo-slate: #7a8792;
    --bo-sage: #87958c;
    --bo-berry: #80566d;

    /* Structure. */
    --bo-border: #c9c2cc;
    --bo-border-strong: #b8afbb;
    --bo-shadow: 0 18px 45px rgba(31, 28, 35, .11);
    --bo-shadow-soft: 0 10px 28px rgba(31, 28, 35, .08);
    --bo-radius: 24px;
    --bo-radius-sm: 16px;

    /* Global widths. */
    --bo-site-max: 1500px;
    --bo-page-max: 1420px;
    --bo-reading-max: 980px;
    --bo-gutter: clamp(24px, 4vw, 64px);

    /* Compatibility aliases used by older custom components. */
    --navy: var(--bo-black);
    --navy-2: var(--bo-charcoal);
    --cream: var(--bo-surface);
    --paper: var(--bo-bg);
    --ink: var(--bo-ink);
    --muted: var(--bo-muted);
    --gold: var(--bo-plum);
    --rose: var(--bo-berry);
    --dusty-blue: var(--bo-lavender-soft);
    --line: var(--bo-border);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--bo-ink);
    background: var(--bo-bg);
    background-image:
        radial-gradient(circle at 12% 18%, rgba(113, 88, 120, .08) 0 1px, transparent 2px),
        radial-gradient(circle at 84% 42%, rgba(39, 37, 44, .05) 0 1px, transparent 2px);
    background-size: 58px 58px, 76px 76px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }

/* =============================================================================
   02. GLOBAL WIDTHS + TYPOGRAPHY
   ============================================================================= */
.wrap {
    width: min(var(--bo-site-max), calc(100% - var(--bo-gutter)));
    margin-inline: auto;
}
main { width: 100%; }
.section { padding: clamp(64px, 7vw, 104px) 0; }
.section-title,
.page-content > .section-title,
.directory-heading h1,
.member-login-shell h1 {
    margin: 0;
    color: var(--bo-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.4rem, 4.2vw, 4rem);
    line-height: 1.03;
    letter-spacing: -.035em;
}
.eyebrow {
    margin: 0 0 12px;
    color: var(--bo-plum);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.meta {
    color: var(--bo-plum-dark);
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

/* =============================================================================
   03. HEADER + NAVIGATION — v2.4.25
   ============================================================================= */
.site-header {
    position: relative;
    z-index: 100;
    color: #fff;
    background:
        radial-gradient(circle at 88% 0%, rgba(125, 93, 151, .14), transparent 32%),
        #17151d;
    border-bottom: 1px solid rgba(255,255,255,.09);
    box-shadow: 0 8px 28px rgba(10, 8, 14, .18);
}
.header-inner {
    min-height: 78px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(22px, 2.4vw, 42px);
}
.brand {
    display: inline-flex;
    align-items: center;
    color: #fff;
    white-space: nowrap;
}
.bookorbit-wordmark-text {
    display: inline-flex;
    align-items: center;
    color: #ead7f2;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.72rem, 2vw, 2.08rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.035em;
    text-shadow: 0 0 24px rgba(196, 151, 223, .14);
}
.bookorbit-logo-o {
    position: relative;
    width: .72em;
    height: .72em;
    margin: 0 .02em .01em .015em;
    display: inline-block;
    flex: 0 0 auto;
    border: .105em solid #d4afe6;
    border-radius: 50%;
    box-shadow: 0 0 16px rgba(202, 160, 225, .2);
}
.bookorbit-logo-crescent {
    position: absolute;
    width: .39em;
    height: .39em;
    top: .055em;
    left: .13em;
    border-radius: 50%;
    background: #d9b7e7;
    box-shadow: .13em -.04em 0 .015em #17151d;
}
.bookorbit-logo-star {
    align-self: flex-start;
    margin: -.22em 0 0 .08em;
    color: #f1d8ff;
    font-size: .45em;
    transform: rotate(8deg);
}
.site-nav { min-width: 0; }
.site-nav ul {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(18px, 1.7vw, 31px);
    list-style: none;
}
.site-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    color: #ded8e4;
    font-size: clamp(.94rem, 1vw, 1.03rem);
    font-weight: 650;
    transition: color .18s ease, transform .18s ease;
}
.site-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5px;
    height: 2px;
    border-radius: 999px;
    background: #ba8fd0;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .18s ease;
}
.site-nav a:hover,
.site-nav a:focus-visible { color: #fff; transform: translateY(-1px); }
.site-nav a:hover::after,
.site-nav a:focus-visible::after { transform: scaleX(1); }
.site-nav-account a {
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
}
.bookorbit-header-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex: 0 0 auto;
}
.bookorbit-header-icon {
    position: relative;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: #f2edf5;
    border: 1px solid transparent;
    border-radius: 50%;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.bookorbit-header-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.bookorbit-header-icon:hover,
.bookorbit-header-icon:focus-visible {
    color: #fff;
    background: rgba(183, 139, 205, .14);
    border-color: rgba(215, 180, 231, .22);
    transform: translateY(-1px);
}
.bookorbit-header-badge {
    position: absolute;
    top: 0;
    right: -2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: grid;
    place-items: center;
    color: #fff;
    background: #9b557e;
    border: 2px solid #17151d;
    border-radius: 999px;
    font-size: .65rem;
    font-weight: 800;
    line-height: 1;
}
.bookorbit-header-avatar {
    width: 44px;
    height: 44px;
    margin-left: 5px;
    display: block;
    overflow: hidden;
    border: 2px solid rgba(220, 186, 234, .72);
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(183, 139, 205, .09);
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.bookorbit-header-avatar:hover,
.bookorbit-header-avatar:focus-visible {
    border-color: #f1d8ff;
    transform: translateY(-1px);
    box-shadow: 0 0 0 4px rgba(183, 139, 205, .15);
}
.bookorbit-header-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 50%;
}
.bookorbit-header-login,
.bookorbit-header-join {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: .9rem;
    font-weight: 750;
}
.bookorbit-header-login { color: #e8e1ed; }
.bookorbit-header-join {
    color: #fff;
    background: rgba(120, 81, 139, .46);
    border: 1px solid rgba(218, 184, 233, .24);
}
.menu-toggle {
    display: none;
    padding: 9px 13px;
    color: #fff;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    cursor: pointer;
}

/* =============================================================================
   04. FOOTER — v2.4.25
   ============================================================================= */
.site-footer {
    padding: 38px 0;
    color: #e6e1e9;
    background:
        radial-gradient(circle at 14% 120%, rgba(111, 74, 130, .13), transparent 34%),
        #17151d;
    border-top: 1px solid rgba(255,255,255,.08);
}
.footer-inner {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: clamp(28px, 4vw, 58px);
}
.footer-brand .bookorbit-wordmark-text { font-size: 1.45rem; }
.footer-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px 26px;
}
.footer-nav a {
    position: relative;
    color: #d9d1de;
    font-size: .95rem;
    font-weight: 650;
    transition: color .18s ease;
}
.footer-nav a:not(:last-child)::after {
    content: "·";
    position: absolute;
    right: -15px;
    color: rgba(215, 194, 225, .38);
}
.footer-nav a:hover,
.footer-nav a:focus-visible { color: #fff; }
.footer-message {
    display: grid;
    gap: 2px;
    text-align: right;
    font-size: .9rem;
}
.footer-message strong { color: #fff; }
.footer-message span { color: #aaa2ad; }

/* =============================================================================
   05. HOMEPAGE HERO
   ============================================================================= */
.hero {
    position: relative;
    overflow: hidden;
    padding: clamp(82px, 9vw, 132px) 0;
    color: #fff;
    background:
        radial-gradient(circle at 88% 18%, rgba(113,88,120,.17), transparent 26%),
        var(--bo-black);
}
.hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1.12fr) minmax(320px,.88fr);
    align-items: center;
    gap: clamp(60px, 8vw, 130px);
}
.hero h1 {
    margin: 0 0 28px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4.2rem, 7vw, 7rem);
    line-height: .92;
    letter-spacing: -.055em;
}
.hero h1 em { color: #94789a; font-weight: 400; }
.hero-copy > p:not(.eyebrow) {
    max-width: 760px;
    margin: 0;
    color: #d7d2db;
    font-size: clamp(1.05rem, 1.25vw, 1.22rem);
    line-height: 1.75;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.button,
.bookorbit-discussion-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 20px;
    color: #fff;
    background: var(--bo-plum);
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.button:hover,
.bookorbit-discussion-toggle:hover { color: #fff; background: var(--bo-plum-dark); transform: translateY(-1px); }
.button-secondary { color: var(--bo-ink); background: var(--bo-lavender-soft); border-color: var(--bo-border); }
.button-secondary:hover { color: #fff; background: var(--bo-plum); }
.orbit-art { width: min(430px, 80vw); aspect-ratio: 1; position: relative; display: grid; place-items: center; margin: auto; }
.orbit { position: absolute; inset: 10%; border: 1px solid rgba(201,189,206,.48); border-radius: 50%; transform: rotate(-20deg); }
.orbit::after { content: ""; position: absolute; top: 15%; right: 8%; width: 16px; height: 16px; background: var(--bo-lavender); border-radius: 50%; box-shadow: 0 0 24px rgba(201,189,206,.7); }
.book-icon { position: relative; color: #fff; font-size: 5rem; }

/* =============================================================================
   06. HOMEPAGE FEATURE + COMMUNITY SECTIONS
   ============================================================================= */
.homepage-feature-section { background: var(--bo-bg-soft); }
.homepage-feature-grid {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr);
    gap: clamp(42px, 6vw, 90px);
    align-items: stretch;
}
.compact-heading { margin-bottom: 28px; }
.section-title-link { display: inline-flex; align-items: center; gap: .4em; }
.section-title-link::after { content: "→"; color: var(--bo-plum); font-family: sans-serif; font-size: .56em; }
.homepage-review-card {
    min-height: 330px;
    display: grid;
    grid-template-columns: minmax(210px, 34%) 1fr;
    overflow: hidden;
    background: var(--bo-surface);
    border: 1px solid var(--bo-border);
    border-radius: var(--bo-radius);
    box-shadow: var(--bo-shadow-soft);
}
.review-cover,
.review-cover-placeholder {
    height: 100%;
    min-height: 280px;
    display: grid;
    place-items: center;
    padding: 28px;
    color: #fff;
    text-align: center;
    background: linear-gradient(145deg, #66516d, #25232a);
    font-family: Georgia, serif;
    font-size: 1.35rem;
}
.review-cover small,
.review-cover-placeholder small { display: block; margin-top: 10px; opacity: .75; font-size: .68rem; }
.homepage-review-cover { min-height: 100%; overflow: hidden; background: var(--bo-charcoal); }
.homepage-review-cover img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; display: block; }
.card-body { padding: clamp(26px, 3vw, 42px); }
.post-title { margin: 8px 0 10px; font-family: Georgia, serif; font-size: clamp(1.65rem, 2.4vw, 2.3rem); line-height: 1.05; }
.excerpt { color: var(--bo-muted); line-height: 1.7; }
.rating { margin-top: 16px; color: var(--bo-plum); font-weight: 800; letter-spacing: .08em; }
.rating strong { margin-left: 8px; color: var(--bo-ink); letter-spacing: 0; }
.read-link { display: inline-flex; margin-top: 18px; color: var(--bo-plum-dark); font-weight: 800; }
.bookorbit-intro-card {
    padding: clamp(34px, 4vw, 58px);
    color: #f7f4f8;
    background: var(--bo-surface-dark);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: var(--bo-radius);
    box-shadow: var(--bo-shadow);
}
.bookorbit-intro-card .section-title { color: #fff; font-size: clamp(2.6rem, 3.6vw, 4rem); }
.bookorbit-intro-card p { color: #d7d1dc; line-height: 1.75; }
.bookorbit-intro-card .intro-lead { color: #fff; font-weight: 700; }
.community-home-section { background: var(--bo-bg); }
.community-heading { margin-bottom: 34px; }
.section-intro { margin: 12px 0 0; color: var(--bo-muted); font-size: 1.06rem; }
.community-link-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.community-link-card {
    min-height: 190px;
    padding: 28px;
    display: grid;
    align-content: start;
    gap: 9px;
    background: var(--bo-surface);
    border: 1px solid var(--bo-border);
    border-radius: 20px;
    box-shadow: var(--bo-shadow-soft);
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.community-link-card:hover { transform: translateY(-3px); border-color: var(--bo-plum); background: var(--bo-lavender-soft); }
.community-card-icon { font-size: 1.5rem; }
.community-link-card strong { font-family: Georgia, serif; font-size: 1.45rem; }
.community-link-card span:last-child { color: var(--bo-muted); line-height: 1.6; }

/* Homepage member discovery — v2.4.20. */
.homepage-members-section { background: var(--bo-bg-soft); }
.homepage-members-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
}
.homepage-members-all { flex: 0 0 auto; }
.homepage-member-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.homepage-member-card {
    min-width: 0;
    padding: 30px 26px 26px;
    text-align: center;
    background: var(--bo-surface-2);
    border: 1px solid var(--bo-border);
    border-radius: 22px;
    box-shadow: var(--bo-shadow-soft);
}
.homepage-member-avatar { display: inline-flex; }
.homepage-member-avatar img {
    width: 154px;
    height: 154px;
    object-fit: cover;
    border: 5px solid rgba(255,255,255,.5);
    border-radius: 50%;
    box-shadow: 0 12px 28px rgba(31,27,35,.13);
}
.homepage-member-card h3 {
    margin: 18px 0 5px;
    font-family: Georgia, serif;
    font-size: 1.55rem;
}
.homepage-member-card h3 a { color: var(--bo-plum-dark); }
.homepage-member-country {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
    color: var(--bo-muted);
    font-size: .88rem;
    font-weight: 700;
}
.homepage-member-reading {
    min-height: 76px;
    margin: 20px 0 0;
    padding: 15px 16px;
    display: grid;
    align-content: center;
    gap: 5px;
    background: rgba(255,255,255,.28);
    border: 1px solid var(--bo-border);
    border-radius: 15px;
}
.homepage-member-reading span {
    color: var(--bo-muted);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.homepage-member-reading strong { color: var(--bo-ink); line-height: 1.35; }
.homepage-member-profile-link { margin-top: 18px; }
.homepage-members-empty { text-align: center; }

/* =============================================================================
   07. STANDARD WORDPRESS PAGES + FORMS
   ============================================================================= */
.page-content {
    width: min(var(--bo-page-max), calc(100% - var(--bo-gutter)));
    margin: 48px auto 68px;
    padding: clamp(34px, 5vw, 70px);
    background: var(--bo-surface-2);
    border: 1px solid var(--bo-border);
    border-radius: var(--bo-radius);
    box-shadow: var(--bo-shadow-soft);
}
.page-body { margin-top: 28px; color: var(--bo-ink); }
.page-body > :first-child { margin-top: 0; }
.page-body p { line-height: 1.8; }
.page-body a { color: var(--bo-plum-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.page-body input[type="text"], .page-body input[type="email"], .page-body input[type="password"], .page-body textarea, .page-body select,
#buddypress input[type="text"], #buddypress input[type="email"], #buddypress input[type="password"], #buddypress textarea, #buddypress select,
#bbpress-forums input[type="text"], #bbpress-forums input[type="email"], #bbpress-forums input[type="password"], #bbpress-forums textarea, #bbpress-forums select {
    width: 100%;
    padding: 12px 14px;
    color: var(--bo-ink);
    background: var(--bo-surface);
    border: 1px solid var(--bo-border-strong);
    border-radius: 12px;
    outline: none;
}
.page-body input:focus, .page-body textarea:focus, #buddypress input:focus, #buddypress textarea:focus, #bbpress-forums input:focus, #bbpress-forums textarea:focus {
    border-color: var(--bo-plum);
    box-shadow: 0 0 0 3px rgba(113,88,120,.12);
}

/* Member login page. */
.member-login-page { padding: 70px var(--bo-gutter); }
.member-login-shell {
    width: min(980px, 100%);
    margin: 0 auto;
    padding: clamp(36px, 5vw, 70px);
    background: var(--bo-surface-2);
    border: 1px solid var(--bo-border);
    border-radius: var(--bo-radius);
    box-shadow: var(--bo-shadow);
}
.member-login-shell > p { color: var(--bo-muted); font-size: 1.05rem; }
.bookorbit-login-form { max-width: 620px; margin-top: 28px; }
.bookorbit-login-form label { display: block; margin: 0 0 6px; font-weight: 750; }
.bookorbit-login-form input[type="text"], .bookorbit-login-form input[type="password"] { width: 100%; padding: 13px 14px; background: var(--bo-surface); border: 1px solid var(--bo-border-strong); border-radius: 12px; }
.bookorbit-login-form input[type="submit"] { min-height: 46px; padding: 10px 22px; color: #fff; background: var(--bo-plum); border: 0; border-radius: 999px; font-weight: 800; cursor: pointer; }
.login-help-links { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 18px; }
.login-help-links a { color: var(--bo-plum-dark); font-weight: 750; }
.login-action-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 28px; }
.login-action-card { padding: 22px; display: grid; gap: 6px; background: var(--bo-surface); border: 1px solid var(--bo-border); border-radius: 16px; }
.login-action-card strong { color: var(--bo-plum-dark); font-size: 1.15rem; }
.login-action-card span { color: var(--bo-muted); }

/* =============================================================================
   08. BOOK REVIEWS ARCHIVE
   ============================================================================= */
.reviews-index-page { background: var(--bo-bg); min-height: 70vh; }
.reviews-index-section { padding: 72px 0 90px; }
.reviews-index-heading { margin-bottom: 34px; }
.reviews-index-heading p { max-width: 760px; margin: 12px 0 0; color: var(--bo-muted); font-size: 1.05rem; }
.reviews-index-intro { margin-bottom: 34px; }
.review-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 26px; }
.review-list-item {
    min-height: 340px;
    display: grid;
    grid-template-columns: minmax(170px, 34%) 1fr;
    overflow: hidden;
    background: var(--bo-surface-2);
    border: 1px solid var(--bo-border);
    border-radius: 20px;
    box-shadow: var(--bo-shadow-soft);
}
.review-list-cover { min-height: 100%; background: var(--bo-charcoal); overflow: hidden; }
.review-list-cover img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; display: block; }
.review-list-body { padding: 30px; align-self: center; }
.review-list-author { margin: 0 0 14px; color: var(--bo-muted); }

/* =============================================================================
   09. SINGLE BOOK REVIEW
   ============================================================================= */
.single-review-page { background: var(--bo-bg); }
.review-header { padding: 62px 0; color: #fff; background: var(--bo-black); }
.review-head-grid { display: grid; grid-template-columns: minmax(220px, 300px) 1fr; gap: clamp(44px, 6vw, 90px); align-items: center; }
.review-header-cover { overflow: hidden; border-radius: 18px; box-shadow: 0 24px 55px rgba(0,0,0,.34); }
.review-header-cover img { width: 100%; max-height: 430px; object-fit: cover; display: block; }
.review-title { margin: 0 0 10px; color: #fff; font-family: Georgia, serif; font-size: clamp(3.5rem, 6vw, 6rem); line-height: .95; letter-spacing: -.045em; }
.author-line { color: #cdc7d0; font-size: 1.12rem; }
.review-header-rating strong { color: #fff; }
.score-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.score { padding: 8px 13px; color: #e5dfe7; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; }
.score strong { color: var(--bo-lavender); }
.review-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 350px); align-items: start; gap: clamp(36px, 4vw, 64px); padding: 54px 0 86px; }
.review-content { width: 100%; max-width: none; padding: clamp(34px, 4vw, 62px); background: var(--bo-surface-2); border: 1px solid var(--bo-border); border-radius: 22px; box-shadow: var(--bo-shadow-soft); font-family: Georgia, serif; font-size: 1.08rem; line-height: 1.88; }
.review-content > * { max-width: 900px; }
.review-content > img, .review-content > figure, .review-content > .wp-block-image { max-width: 100%; }
.review-sidebar { display: grid; gap: 14px; }
.review-sidebar-card { padding: 22px 24px; background: var(--bo-surface-2); border: 1px solid var(--bo-border); border-radius: 18px; box-shadow: var(--bo-shadow-soft); }
.review-sidebar-card h3 { margin: 0 0 12px; color: var(--bo-plum-dark); font-family: Georgia, serif; font-size: 1.35rem; }
.review-detail-list { display: grid; gap: 10px; margin: 0; }
.review-detail-list div { display: flex; justify-content: space-between; gap: 18px; padding-bottom: 9px; border-bottom: 1px solid var(--bo-border); }
.review-detail-list div:last-child { padding-bottom: 0; border-bottom: 0; }
.review-detail-list dt { color: var(--bo-muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.review-detail-list dd { margin: 0; color: var(--bo-ink); font-weight: 750; text-align: right; }
.review-content h2 { margin-top: 46px; color: var(--bo-plum-dark); font-size: 2rem; line-height: 1.15; }
.review-content blockquote { margin: 30px 0; padding: 20px 24px; background: var(--bo-lavender-soft); border-left: 4px solid var(--bo-plum); border-radius: 0 14px 14px 0; font-family: sans-serif; font-size: .98rem; }
.warning-box { position: sticky; top: 24px; padding: 26px; background: var(--bo-surface-dark); color: #eee9f0; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; box-shadow: var(--bo-shadow); }
.warning-kicker { color: var(--bo-lavender); font-size: .72rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.warning-box h2 { margin: 8px 0 14px; color: #fff; font-family: Georgia, serif; font-size: 1.55rem; }
.warning-box p { margin: 0; white-space: pre-line; color: #d7d0da; font-size: .9rem; line-height: 1.65; }
.spoiler-label { display: inline-flex; margin-top: 12px; padding: 8px 12px; color: #314b3b; background: #dce9e1; border-radius: 999px; font-size: .8rem; font-weight: 800; }

/* =============================================================================
   10. SHARED CARDS, BUTTONS, EMPTY STATES
   ============================================================================= */
.empty-state { grid-column: 1 / -1; padding: 46px; text-align: center; background: var(--bo-surface-2); border: 1px dashed var(--bo-border-strong); border-radius: 18px; }
.empty-state h2 { margin: 0 0 8px; font-family: Georgia, serif; color: var(--bo-plum-dark); }
.empty-state p { margin: 0; color: var(--bo-muted); }

/* =============================================================================
   11. BBPRESS FORUMS: GLOBAL
   ============================================================================= */
body.bbpress { background: var(--bo-bg); }
body.bbpress .page-content {
    width: min(var(--bo-page-max), calc(100% - var(--bo-gutter)));
    max-width: none;
    padding: clamp(34px, 4vw, 60px);
    background: var(--bo-bg-soft);
}
body.bbpress .page-content > .section-title { margin-bottom: 20px; }
#bbpress-forums { width: 100%; color: var(--bo-ink); font-size: .98rem; }
#bbpress-forums * { box-sizing: border-box; }
#bbpress-forums a { color: var(--bo-plum-dark); }
#bbpress-forums .bbp-breadcrumb { color: var(--bo-muted); font-size: .84rem; }
#bbpress-forums .bbp-breadcrumb a { color: var(--bo-muted); }
#bbpress-forums .bbp-template-notice,
#bbpress-forums div.bbp-template-notice {
    margin: 16px 0;
    padding: 12px 15px;
    color: var(--bo-ink);
    background: var(--bo-lavender-soft);
    border: 1px solid var(--bo-border);
    border-radius: 12px;
}
#bbpress-forums .bbp-template-notice.error,
#bbpress-forums .bbp-template-notice.warning { background: #e6dde4; border-color: #cdb9c7; }
#bbpress-forums .bbp-author-ip { display: none !important; }
#bbpress-forums .bbp-pagination { color: var(--bo-muted); }
#bbpress-forums .bbp-search-form { margin-bottom: 20px; }
#bbpress-forums .bbp-search-form form { display: flex; justify-content: flex-end; gap: 8px; }
#bbpress-forums .bbp-search-form input[type="text"] { width: min(360px, 100%); }
#bbpress-forums button,
#bbpress-forums input[type="submit"] {
    min-height: 42px;
    padding: 9px 16px;
    color: #fff;
    background: var(--bo-plum);
    border: 0;
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
}

/* =============================================================================
   12. BBPRESS FORUMS: ARCHIVE + CATEGORY PAGES
   =============================================================================
   The v2.2 forum hub intentionally targets both bbPress's native body classes
   and Spines & Stars helper classes added in functions.php. This keeps the card
   layout working whether bbPress renders the archive directly or through a
   WordPress page/shortcode.
   ============================================================================= */

/* Shared forum list cleanup. */
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums,
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums,
body.single-forum #bbpress-forums ul.bbp-forums {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-header,
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-footer,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-header,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-footer,
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-header,
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-footer,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-header,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-footer { display: none !important; }

/* MAIN FORUMS HUB: only major categories are visible here. */
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum {
    position: relative;
    min-height: 210px;
    margin: 0 !important;
    padding: 30px !important;
    display: block !important;
    background: var(--bo-surface-2);
    border: 1px solid var(--bo-border);
    border-top: 5px solid var(--bo-plum);
    border-radius: 22px;
    box-shadow: var(--bo-shadow-soft);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:hover,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:hover {
    transform: translateY(-3px);
    border-color: var(--bo-plum);
    box-shadow: var(--bo-shadow);
}
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-info,
body.bbp-forum-archive #bbpress-forums .bbp-forum-info,
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-topic-count,
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-reply-count,
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-freshness,
body.bbp-forum-archive #bbpress-forums .bbp-forum-topic-count,
body.bbp-forum-archive #bbpress-forums .bbp-forum-reply-count,
body.bbp-forum-archive #bbpress-forums .bbp-forum-freshness { width: auto !important; float: none !important; }
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-title,
body.bbp-forum-archive #bbpress-forums .bbp-forum-title {
    display: inline-block;
    margin: 0 0 10px;
    color: var(--bo-plum-dark);
    font-family: Georgia, serif;
    font-size: clamp(1.55rem, 2vw, 2rem);
    font-weight: 800;
    line-height: 1.12;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-content,
body.bbp-forum-archive #bbpress-forums .bbp-forum-content { color: var(--bo-muted); font-size: .98rem; line-height: 1.65; }
body.bookorbit-forum-archive #bbpress-forums .bbp-forums-list,
body.bbp-forum-archive #bbpress-forums .bbp-forums-list { display: none !important; }
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-topic-count,
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-reply-count,
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-freshness,
body.bbp-forum-archive #bbpress-forums .bbp-forum-topic-count,
body.bbp-forum-archive #bbpress-forums .bbp-forum-reply-count,
body.bbp-forum-archive #bbpress-forums .bbp-forum-freshness { display: inline-block; margin: 18px 14px 0 0; color: var(--bo-muted); font-size: .8rem; }
/* Subtle category accents. */
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+1), body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+1) { border-top-color: #9985a1; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+2), body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+2) { border-top-color: #745875; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+3), body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+3) { border-top-color: #7e8c98; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+4), body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+4) { border-top-color: #88728f; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+5), body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+5) { border-top-color: #574353; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+6), body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6n+6) { border-top-color: #84958c; }


/* -----------------------------------------------------------------------------
   v2.7.0 FORUMS LANDING: EMERALD COMMUNITY SYSTEM
   -----------------------------------------------------------------------------
   Archive-only presentation. Forums own the emerald section identity while the
   global Spines & Stars header remains midnight. Parent forum cards are a rich
   emerald with antique-gold structure and ivory text. Individual forum/topic
   pages are intentionally left for the next pass.
   ----------------------------------------------------------------------------- */
body.bookorbit-forum-archive,
body.bbp-forum-archive {
    --forum-emerald-950: #061b17;
    --forum-emerald-900: #08241e;
    --forum-emerald-850: #0b3028;
    --forum-emerald-800: #103d33;
    --forum-emerald-700: #185447;
    --forum-emerald-hover: #1f6656;
    --forum-gold: #cba65e;
    --forum-gold-soft: #e1c483;
    --forum-ivory: #f7f1e6;
    --forum-muted: #c7d2cc;
    --forum-border: rgba(203, 166, 94, .66);
    background: linear-gradient(180deg, #061914 0%, #09271f 48%, #071d18 100%);
    color: var(--forum-ivory);
}

/* Remove the generic pale WordPress page card from the forum archive. */
body.bookorbit-forum-archive .page-content,
body.bbp-forum-archive .page-content {
    width: min(1460px, calc(100% - var(--bo-gutter)));
    margin: clamp(34px, 4vw, 58px) auto 78px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
body.bookorbit-forum-archive .page-body,
body.bbp-forum-archive .page-body { margin-top: 18px; }

/* Simple section hero: no large decorative illustration. */
.bookorbit-forum-hero {
    position: relative;
    overflow: hidden;
    margin: 0 0 18px;
    padding: clamp(32px, 4vw, 52px);
    color: var(--forum-ivory, #f7f1e6);
    background: linear-gradient(135deg, #08241e 0%, #0b3028 100%);
    border: 1px solid rgba(203, 166, 94, .46);
    border-radius: 24px;
    box-shadow: 0 22px 50px rgba(0, 0, 0, .22);
}
.bookorbit-forum-hero::after { display: none; }
.bookorbit-forum-hero .eyebrow {
    margin: 0 0 8px;
    color: var(--forum-gold-soft, #e1c483);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.bookorbit-forum-hero h1 {
    position: relative;
    z-index: 1;
    max-width: 950px;
    margin: 0;
    color: var(--forum-ivory, #f7f1e6);
    font-family: Georgia, serif;
    font-size: clamp(2.5rem, 5vw, 4.7rem);
    line-height: 1;
}
.bookorbit-forum-hero p:last-child {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 14px 0 0;
    color: var(--forum-muted, #c7d2cc);
    font-size: clamp(.98rem, 1.5vw, 1.12rem);
    line-height: 1.7;
}

/* Utility area: breadcrumb, notices/rules, and search all stay in one family. */
body.bookorbit-forum-archive #bbpress-forums .bbp-breadcrumb,
body.bbp-forum-archive #bbpress-forums .bbp-breadcrumb {
    margin: 0 0 12px;
    color: #bdcbc4;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-breadcrumb a,
body.bbp-forum-archive #bbpress-forums .bbp-breadcrumb a {
    color: var(--forum-ivory);
    text-decoration-color: rgba(203, 166, 94, .55);
}
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form,
body.bbp-forum-archive #bbpress-forums .bbp-search-form {
    margin: 0 0 18px;
    padding: 14px;
    background: rgba(6, 27, 23, .94);
    border: 1px solid rgba(203, 166, 94, .30);
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .15);
}
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form form,
body.bbp-forum-archive #bbpress-forums .bbp-search-form form {
    justify-content: stretch;
    gap: 10px;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="text"],
body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="text"] {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    color: var(--forum-ivory);
    background: #0b3028;
    border: 1px solid #2a5d50;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="text"]::placeholder,
body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="text"]::placeholder { color: #91a79d; }
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="submit"],
body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="submit"] {
    flex: 0 0 auto;
    min-width: 110px;
    color: #10241e;
    background: var(--forum-gold-soft);
}
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="submit"]:hover,
body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="submit"]:hover { background: #efd699; }

body.bookorbit-forum-archive #bbpress-forums .bbp-template-notice,
body.bookorbit-forum-archive #bbpress-forums div.bbp-template-notice,
body.bbp-forum-archive #bbpress-forums .bbp-template-notice,
body.bbp-forum-archive #bbpress-forums div.bbp-template-notice {
    margin: 0 0 18px;
    padding: 14px 17px;
    color: var(--forum-ivory);
    background: #0a2a23;
    border: 1px solid rgba(203, 166, 94, .36);
    border-left: 4px solid var(--forum-gold);
    border-radius: 14px;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .12);
}
body.bookorbit-forum-archive #bbpress-forums .bbp-template-notice p,
body.bbp-forum-archive #bbpress-forums .bbp-template-notice p { margin: 0; color: inherit; }
body.bookorbit-forum-archive #bbpress-forums .bbp-template-notice a,
body.bbp-forum-archive #bbpress-forums .bbp-template-notice a { color: var(--forum-gold-soft); font-weight: 800; }

/* Parent forum cards: one cohesive emerald family rather than mixed colors. */
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body {
    gap: 20px;
}
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum {
    min-height: 218px;
    padding: 26px 28px 24px !important;
    background: #103d33;
    border: 1px solid var(--forum-border);
    border-top: 1px solid var(--forum-border);
    border-radius: 18px;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .18);
}
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::before,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::before { display: none !important; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:hover,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:hover {
    transform: translateY(-3px);
    background: #16493e;
    border-color: var(--forum-gold-soft);
    box-shadow: 0 20px 42px rgba(0, 0, 0, .24);
}
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-title,
body.bbp-forum-archive #bbpress-forums .bbp-forum-title {
    margin-bottom: 9px;
    color: var(--forum-ivory);
    font-size: clamp(1.35rem, 1.8vw, 1.72rem);
    text-decoration: none;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-title::after,
body.bbp-forum-archive #bbpress-forums .bbp-forum-title::after {
    content: "  ›";
    color: var(--forum-gold-soft);
    font-family: Arial, sans-serif;
    font-size: .9em;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-title:hover,
body.bbp-forum-archive #bbpress-forums .bbp-forum-title:hover { color: var(--forum-gold-soft); }
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-content,
body.bbp-forum-archive #bbpress-forums .bbp-forum-content {
    min-height: 70px;
    color: var(--forum-muted);
    font-size: .94rem;
    line-height: 1.58;
}

/* bbPress count columns become compact emerald metadata pills. */
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-topic-count,
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-reply-count,
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-freshness,
body.bbp-forum-archive #bbpress-forums .bbp-forum-topic-count,
body.bbp-forum-archive #bbpress-forums .bbp-forum-reply-count,
body.bbp-forum-archive #bbpress-forums .bbp-forum-freshness {
    margin: 17px 8px 0 0;
    padding: 5px 10px;
    color: #d8e2dd;
    background: rgba(5, 29, 23, .62);
    border: 1px solid rgba(203, 166, 94, .22);
    border-radius: 999px;
    font-size: .78rem;
    line-height: 1.35;
    vertical-align: top;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-topic-count::before,
body.bbp-forum-archive #bbpress-forums .bbp-forum-topic-count::before { content: "Topics "; color: var(--forum-gold-soft); font-weight: 850; }
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-reply-count::before,
body.bbp-forum-archive #bbpress-forums .bbp-forum-reply-count::before { content: "Replies "; color: var(--forum-gold-soft); font-weight: 850; }
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-freshness::before,
body.bbp-forum-archive #bbpress-forums .bbp-forum-freshness::before { content: "Latest "; color: var(--forum-gold-soft); font-weight: 850; }

@media (max-width: 820px) {
    body.bookorbit-forum-archive .page-content,
    body.bbp-forum-archive .page-content { width: min(100% - 28px, 1460px); }
    .bookorbit-forum-hero { padding: 30px 26px; border-radius: 20px; }
    body.bookorbit-forum-archive #bbpress-forums .bbp-search-form form,
    body.bbp-forum-archive #bbpress-forums .bbp-search-form form { flex-wrap: wrap; }
    body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="text"],
    body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="text"] { flex-basis: 100%; }
    body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="submit"],
    body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="submit"] { width: 100%; }
}
@media (max-width: 620px) {
    body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
    body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum { padding: 23px !important; }
    body.bookorbit-forum-archive #bbpress-forums .bbp-forum-content,
    body.bbp-forum-archive #bbpress-forums .bbp-forum-content { min-height: 0; }
}

/* CATEGORY PAGE: subforums become large readable rows with clear hierarchy. */
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body { display: grid; gap: 16px; }
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum {
    margin: 0 !important;
    padding: 24px 26px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto auto auto;
    gap: 20px;
    align-items: center;
    background: var(--bo-surface-2);
    border: 1px solid var(--bo-border);
    border-left: 5px solid var(--bo-plum);
    border-radius: 18px;
    box-shadow: var(--bo-shadow-soft);
}
body.bookorbit-single-forum #bbpress-forums .bbp-forum-info,
body.single-forum #bbpress-forums .bbp-forum-info { width: auto !important; float: none !important; }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-title,
body.single-forum #bbpress-forums .bbp-forum-title {
    display: block;
    margin: 0 0 8px;
    color: var(--bo-plum-dark);
    font-family: Georgia, serif;
    font-size: 1.3rem;
    font-weight: 850;
    line-height: 1.2;
}
body.bookorbit-single-forum #bbpress-forums .bbp-forum-content,
body.single-forum #bbpress-forums .bbp-forum-content { color: var(--bo-muted); font-size: .93rem; line-height: 1.58; }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-topic-count,
body.bookorbit-single-forum #bbpress-forums .bbp-forum-reply-count,
body.bookorbit-single-forum #bbpress-forums .bbp-forum-freshness,
body.single-forum #bbpress-forums .bbp-forum-topic-count,
body.single-forum #bbpress-forums .bbp-forum-reply-count,
body.single-forum #bbpress-forums .bbp-forum-freshness { width: auto !important; float: none !important; color: var(--bo-muted); font-size: .82rem; }

/* =============================================================================
   13. BBPRESS TOPICS + EDITORS
   ============================================================================= */
#bbpress-forums .bbp-topics,
#bbpress-forums .bbp-replies { border: 0; background: transparent; }
#bbpress-forums .bbp-topics .bbp-header,
#bbpress-forums .bbp-topics .bbp-footer,
#bbpress-forums .bbp-replies .bbp-header,
#bbpress-forums .bbp-replies .bbp-footer { color: var(--bo-muted); background: transparent; border: 0; }
#bbpress-forums .bbp-topics .bbp-body > ul,
#bbpress-forums .bbp-replies .bbp-body > div.reply {
    margin: 10px 0 !important;
    background: var(--bo-surface);
    border: 1px solid var(--bo-border);
    border-radius: 16px;
    overflow: hidden;
}
#bbpress-forums .bbp-topic-title a.bbp-topic-permalink { color: var(--bo-plum-dark); font-size: 1.08rem; font-weight: 850; }
#bbpress-forums .bbp-replies .bbp-body > div.reply { display: grid; grid-template-columns: 180px minmax(0,1fr); }
#bbpress-forums .bbp-reply-author { width: auto !important; float: none !important; padding: 24px 18px; background: var(--bo-surface-2); border-right: 1px solid var(--bo-border); text-align: center; }
#bbpress-forums .bbp-reply-author .bbp-author-avatar img { width: 82px; height: 82px; object-fit: cover; border-radius: 18px; }
#bbpress-forums .bbp-reply-author .bbp-author-name { display: block; margin-top: 10px; color: var(--bo-plum-dark); font-size: 1rem; font-weight: 850; }
#bbpress-forums .bbp-reply-content { width: auto !important; float: none !important; min-height: 150px; padding: 26px 30px; color: var(--bo-ink); font-size: 1rem; line-height: 1.75; }
#bbpress-forums .bbp-reply-header { padding: 11px 16px; background: var(--bo-lavender-soft); border-bottom: 1px solid var(--bo-border); }
#bbpress-forums .bbp-reply-post-date { color: var(--bo-muted); }
#bbpress-forums .bbp-admin-links { color: var(--bo-muted); font-size: .74rem; }
#bbpress-forums .bbp-admin-links a { color: var(--bo-plum-dark); font-weight: 750; }
/* Reserved styling for the Spines & Stars moderation companion plugin. */
#bbpress-forums .bookorbit-report-link { color: #7b4059 !important; font-weight: 800; }
#bbpress-forums .bookorbit-report-link::before { content: "⚑ "; }
#bbpress-forums fieldset.bbp-form {
    margin: 24px 0 0;
    padding: 24px;
    background: var(--bo-surface-2);
    border: 1px solid var(--bo-border);
    border-radius: 18px;
}
#bbpress-forums fieldset.bbp-form legend {
    padding: 0 8px;
    color: var(--bo-plum-dark);
    font-family: Georgia, serif;
    font-size: 1.25rem;
    font-weight: 700;
}
#bbpress-forums .bbp-the-content-wrapper textarea.bbp-the-content { min-height: 220px; }
.bookorbit-discussion-toggle { margin: 24px 0 4px; }
#bbpress-forums form[hidden] { display: none !important; }

/* =============================================================================
   14. BUDDYPRESS MEMBERS DIRECTORY
   ============================================================================= */
.bookorbit-directory-intro { margin: 0 0 30px; padding: 32px 34px; background: var(--bo-surface-dark); color: #fff; border-radius: 22px; box-shadow: var(--bo-shadow-soft); }
.bookorbit-directory-intro .eyebrow { color: var(--bo-lavender); }
.bookorbit-directory-intro h1 { margin: 4px 0 8px; color: #fff; font-family: Georgia, serif; font-size: clamp(2.6rem,4vw,4.2rem); line-height: 1; }
.bookorbit-directory-intro p:last-child { margin: 0; color: #d8d2dc; font-size: 1.04rem; }
body.members-directory #buddypress .members-type-navs,
body.members-directory #buddypress .subnav-filters { margin-bottom: 18px; }
body.members-directory #buddypress .subnav-filters { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 18px; background: var(--bo-surface-2); border: 1px solid var(--bo-border); border-radius: 16px; }
body.members-directory #buddypress #members_search { min-width: min(360px, 70vw); }
body.members-directory #buddypress #members-order-select label { color: var(--bo-muted); font-size: .82rem; font-weight: 800; }

.members-directory-page,
body.members-directory { min-height: 70vh; padding: 64px 0 86px; background: var(--bo-bg); }
.members-directory-shell { width: min(var(--bo-page-max), calc(100% - var(--bo-gutter))); }
.directory-heading { margin-bottom: 34px; }
.directory-heading p:last-child { margin: 12px 0 0; color: #d8d2dc; font-size: 1.04rem; }

/* Simple reader-discovery cards: PFP, name, country, current read, profile. */
.bookorbit-member-grid,
#buddypress #members-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.bookorbit-member-card,
#buddypress #members-list > li {
    width: auto !important;
    min-width: 0;
    min-height: 0;
    float: none !important;
    padding: 30px 26px 26px;
    text-align: center;
    background: var(--bo-surface-2);
    border: 1px solid var(--bo-border);
    border-radius: 22px;
    box-shadow: var(--bo-shadow-soft);
}
.member-card-avatar,
#buddypress #members-list .bookorbit-directory-avatar { display: flex; justify-content: center; }
.member-card-avatar img,
#buddypress #members-list .item-avatar img {
    width: 166px;
    height: 166px;
    object-fit: cover;
    border: 5px solid rgba(255,255,255,.5);
    border-radius: 50%;
    box-shadow: 0 12px 28px rgba(31,27,35,.13);
}
.member-card-body h2,
#buddypress #members-list .item-title {
    margin: 18px 0 5px;
    color: var(--bo-plum-dark);
    font-family: Georgia, serif;
    font-size: 1.6rem;
    font-weight: 750;
    line-height: 1.1;
}
#buddypress #members-list .item-title a { color: inherit; }
.member-card-country,
#buddypress #members-list .bookorbit-directory-country {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
    color: var(--bo-muted);
    font-size: .88rem;
    font-weight: 700;
}
.member-card-reading,
#buddypress #members-list .bookorbit-directory-current-read {
    min-height: 80px;
    margin: 20px 0 0;
    padding: 15px 16px;
    display: grid;
    align-content: center;
    gap: 5px;
    color: var(--bo-ink);
    background: rgba(255,255,255,.28);
    border: 1px solid var(--bo-border);
    border-radius: 15px;
}
.member-card-reading span,
#buddypress #members-list .bookorbit-directory-label {
    color: var(--bo-muted);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.member-card-reading strong,
#buddypress #members-list .bookorbit-directory-current-read strong { line-height: 1.35; }
.member-card-link,
#buddypress #members-list .bookorbit-directory-view-profile { margin-top: 18px; }

/* BuddyPress live directory layout. Social actions intentionally stay on profile pages. */
#buddypress #members-dir-list { margin-top: 24px; }
#buddypress #members-list .list-wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
#buddypress #members-list .item { margin-left: 0 !important; min-width: 0; }
#buddypress #members-list .bookorbit-directory-card-body { display: flex; flex: 1; flex-direction: column; align-items: stretch; }
#buddypress #members-list .bookorbit-directory-view-profile { align-self: center; margin-top: auto; transform: translateY(18px); }
#buddypress #members-list .pagination { grid-column: 1 / -1; }

/* =============================================================================
   15. BUDDYPRESS MEMBER NAVIGATION
   ============================================================================= */
body.buddypress .page-content,
body.bp-user .page-content,
body.bp-user-page .page-content {
    width: min(var(--bo-page-max), calc(100% - var(--bo-gutter)));
    max-width: none;
    padding: clamp(26px, 3vw, 44px);
    background: var(--bo-bg-soft);
}
body:is(.buddypress,.bp-user,.bp-user-page) .page-content > .section-title { display: none; }
body:is(.buddypress,.bp-user,.bp-user-page) .page-body { margin: 0; max-width: none; }
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress { width: 100%; max-width: none; }
/* Reorder the main BuddyPress nav above the member header/cover. */
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress .bp-wrap { display: flex; flex-direction: column; }
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-nav { order: 1; margin: 0 0 18px; }
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-header { order: 2; }
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress .item-body { order: 3; }
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 10px;
    background: var(--bo-lavender-soft);
    border: 1px solid var(--bo-border);
    border-radius: 18px;
}
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-nav li { margin: 0; }
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-nav li a {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    color: var(--bo-plum-dark);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 800;
}
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-nav li.current a,
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-nav li.selected a {
    color: #fff;
    background: var(--bo-plum-dark);
    box-shadow: 0 8px 18px rgba(66,47,71,.18);
}
/* Secondary account navigation. */
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress .item-body .bp-navs { margin: 20px 0; }
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress .item-body .bp-navs ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; border: 0; }
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress .item-body .bp-navs li { margin: 0; }
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress .item-body .bp-navs li a {
    padding: 8px 13px;
    color: var(--bo-plum-dark);
    background: var(--bo-surface);
    border: 1px solid var(--bo-border);
    border-radius: 999px;
    font-size: .86rem;
    font-weight: 750;
}
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress .item-body .bp-navs li.current a,
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress .item-body .bp-navs li.selected a { color: #fff; background: var(--bo-plum); }
/* Hide Profile's edit/photo subnav from the public profile; those controls live in Settings shortcuts. */
body:not(.bookorbit-member-compact):is(.buddypress,.bp-user,.bp-user-page) #buddypress #subnav { display: none; }

/* =============================================================================
   16. BUDDYPRESS PUBLIC PROFILE
   ============================================================================= */
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-header { min-height: 0; height: auto; margin: 0 0 24px; }
/* v2.2.4: public profile is four independent rows: nav, cover, identity, details. */
#buddypress .bookorbit-public-member-header {
    display: block !important;
    position: static !important;
    width: 100% !important;
    overflow: visible !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-only {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 22px;
}
body:is(.buddypress,.bp-user,.bp-user-page) #buddypress #cover-image-container { margin: 0; overflow: visible; }
.bookorbit-public-member-header #header-cover-image {
    width: 100%;
    height: clamp(250px, 25vw, 390px);
    min-height: 250px;
    background-size: cover;
    background-position: center;
    border-radius: 22px;
}

/* Dedicated slot for BuddyPress's primary member navigation. theme.js moves
   #item-nav here so the tabs always sit above the cover on public profiles. */
.bookorbit-profile-nav-slot { display:block !important; position:static !important; width:100% !important; min-height:0; margin:0 0 22px !important; padding:0 !important; clear:both; }
.bookorbit-profile-nav-slot:empty { display: none; }
.bookorbit-profile-nav-slot #item-nav { display:block !important; position:static !important; inset:auto !important; float:none !important; transform:none !important; width:100% !important; height:auto !important; margin:0 !important; padding:0 !important; }

/* Public identity row: a completely separate row below the cover. No overlap. */
#buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
    position: relative !important;
    inset: auto !important;
    z-index: 3;
    display: grid !important;
    grid-template-columns: 190px minmax(0,1fr) !important;
    gap: 34px;
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 175px;
    margin: 42px 0 0 !important;
    padding: 0 clamp(20px,3vw,46px) !important;
    transform: none !important;
    float: none !important;
    clear: both;
}
#buddypress .bookorbit-public-member-header .bookorbit-avatar-column {
    position: static !important;
    inset: auto !important;
    float: none !important;
    width: 175px !important;
    height: 175px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-public-avatar {
    position: static !important;
    inset: auto !important;
    display: block !important;
    float: none !important;
    width: 175px !important;
    height: 175px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
    position: static !important;
    inset: auto !important;
    display: block !important;
    float: none !important;
    width: 175px !important;
    height: 175px !important;
    max-width: 175px !important;
    margin: 0 !important;
    object-fit: cover;
    background: var(--bo-surface);
    border: 6px solid var(--bo-bg-soft) !important;
    border-radius: 30px;
    box-shadow: 0 18px 38px rgba(31,28,35,.22);
    transform: none !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-member-heading {
    position: static !important;
    inset: auto !important;
    display: block !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.bookorbit-member-identity { display: flex !important; align-items: baseline; flex-wrap: wrap; gap: 9px 14px; visibility: visible !important; opacity: 1 !important; }
.bookorbit-member-name { display:block !important; margin: 0; color: var(--bo-ink) !important; font-family: Georgia, serif; font-size: clamp(2.5rem,4vw,3.8rem); line-height: 1; letter-spacing: -.03em; visibility:visible !important; opacity:1 !important; }
.bookorbit-pronouns { display:inline !important; color: var(--bo-muted) !important; font-size: .9rem; font-weight: 750; visibility:visible !important; opacity:1 !important; }
.bookorbit-profile-meta { display:block !important; margin-top: 12px; color: var(--bo-muted); font-size: .86rem; }

/* Friend / Message controls appear for other members only. */
.bookorbit-profile-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.bookorbit-profile-actions:empty { display: none; }
.bookorbit-profile-actions .generic-button { margin: 0 !important; }
.bookorbit-profile-actions a,
.bookorbit-profile-actions button {
    width: auto;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 16px;
    color: #fff !important;
    background: var(--bo-plum-dark) !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-size: .84rem !important;
    font-weight: 800 !important;
}
.bookorbit-profile-actions a:hover, .bookorbit-profile-actions button:hover { background: var(--bo-plum) !important; }

/* Keep the bookish details clearly separated from the identity row. */
.bookorbit-profile-content-grid {
    display: grid;
    grid-template-columns: minmax(260px,320px) minmax(0,1fr);
    gap: clamp(36px,5vw,74px);
    align-items: start;
    margin-top: 64px !important;
    padding: 0 clamp(20px,3vw,46px) 14px;
}
.bookorbit-profile-right { display: grid; gap: 16px; }
.bookorbit-profile-card { position: relative; padding: 24px 26px; background: var(--bo-surface); border: 1px solid var(--bo-border); border-radius: 18px; box-shadow: var(--bo-shadow-soft); }
.bookorbit-current-reading-card { margin-top: 0; border-top: 4px solid var(--bo-plum); }
.profile-card-icon { display: inline-block; margin-bottom: 8px; font-size: 1.15rem; }
.bookorbit-profile-card-heading { margin: 0 0 10px; color: var(--bo-plum-dark); font-size: .76rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.bookorbit-profile-card-content { color: var(--bo-ink); font-size: .98rem; line-height: 1.65; }
.bookorbit-profile-card-content p { margin: 0; }
.bookorbit-genre-list { display: flex; flex-wrap: wrap; gap: 8px; }
.bookorbit-genre-pill { display: inline-flex; align-items: center; min-height: 30px; padding: 6px 11px; color: var(--bo-plum-dark); background: var(--bo-lavender-soft); border: 1px solid var(--bo-border-strong); border-radius: 999px; font-size: .8rem; font-weight: 750; }
.bookorbit-public-profile-placeholder { display: none; }

/* Name/pronouns remain visible even when Nouveau injects cover-image rules. */
.bookorbit-public-member-header .bookorbit-member-name,
.bookorbit-public-member-header .bookorbit-pronouns {
    visibility: visible !important;
    opacity: 1 !important;
}

/* =============================================================================
   17. BUDDYPRESS ACCOUNT SECTIONS
   ============================================================================= */
/* Compact member header: no large cover or public-profile cards above tasks. */
.bookorbit-compact-member-header { margin: 0 0 8px; padding: 20px 22px; background: var(--bo-surface); border: 1px solid var(--bo-border); border-radius: 18px; }
.bookorbit-compact-identity { display: grid; grid-template-columns: 82px minmax(0,1fr); align-items: center; gap: 18px; }
.bookorbit-compact-member-header #item-header-avatar img.avatar { width: 82px; height: 82px; max-width: none; object-fit: cover; border-radius: 18px; }
.bookorbit-compact-member-header .bookorbit-member-name { font-size: clamp(1.9rem,3vw,2.6rem); }
.bookorbit-compact-reading { margin: 6px 0 0; color: var(--bo-muted); }
.bookorbit-settings-shortcuts { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--bo-border); }
.bookorbit-settings-shortcuts a { padding: 8px 13px; color: var(--bo-plum-dark); background: var(--bo-lavender-soft); border: 1px solid var(--bo-border); border-radius: 999px; font-size: .84rem; font-weight: 800; }
/* Main account content card. */
body.bookorbit-member-compact #buddypress .item-body { padding: clamp(22px,3vw,36px); background: var(--bo-surface-2); border: 1px solid var(--bo-border); border-radius: 18px; }
body.bookorbit-member-compact #buddypress .item-body table { width: 100%; border-collapse: separate; border-spacing: 0 8px; }
body.bookorbit-member-compact #buddypress .item-body table th,
body.bookorbit-member-compact #buddypress .item-body table td { padding: 12px; background: var(--bo-surface); border: 0; }
body.bookorbit-member-compact #buddypress .item-body .bp-feedback { padding: 14px 16px; color: var(--bo-ink); background: var(--bo-lavender-soft); border: 1px solid var(--bo-border); border-radius: 12px; }
body.bookorbit-member-compact #buddypress .item-body h2,
body.bookorbit-member-compact #buddypress .item-body h3 { color: var(--bo-plum-dark); font-family: Georgia, serif; }
body.bookorbit-member-compact #buddypress .item-body input[type="submit"],
body.bookorbit-member-compact #buddypress .item-body button { min-height: 42px; padding: 9px 16px; color: #fff; background: var(--bo-plum); border: 0; border-radius: 999px; font-weight: 800; }

/* =============================================================================
   18. TABLET RESPONSIVE RULES
   ============================================================================= */
@media (max-width: 1050px) {
    :root { --bo-gutter: 40px; }
    .hero-grid, .review-head-grid { grid-template-columns: 1fr; text-align: center; }
    .hero-copy > p:not(.eyebrow) { margin-inline: auto; }
    .hero-actions, .score-row { justify-content: center; }
    .orbit-art { width: min(340px, 70vw); }
    .homepage-feature-grid { grid-template-columns: 1fr; }
    .bookorbit-intro-card { max-width: none; }
    .community-link-grid { grid-template-columns: 1fr 1fr; }
    .homepage-member-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .review-layout { grid-template-columns: 1fr; }
    .review-sidebar { width: 100%; max-width: none; }
    .warning-box { position: static; }
    .bookorbit-member-grid, #buddypress #members-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
    body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body, body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body { grid-template-columns: 1fr; }
    .bookorbit-profile-content-grid { grid-template-columns: 260px minmax(0,1fr); gap: 30px; }
    .header-inner { grid-template-columns: auto minmax(0,1fr) auto; gap: 20px; }
    .site-nav ul { gap: 18px; }
    .bookorbit-wordmark-text { font-size: 1.58rem; }
    .footer-inner { grid-template-columns: 1fr; text-align: center; }
    .footer-nav { justify-content: center; }
    .footer-message { text-align: center; }
}

/* =============================================================================
   19. MOBILE RESPONSIVE RULES
   ============================================================================= */
@media (max-width: 760px) {
    :root { --bo-gutter: 28px; }
    body { font-size: 15px; }
    .header-inner { min-height: 70px; grid-template-columns: auto 1fr auto; gap: 12px; }
    .bookorbit-wordmark-text { font-size: 1.38rem; }
    .bookorbit-logo-star { display: none; }
    .menu-toggle { display: inline-flex; grid-column: 2; grid-row: 1; justify-self: end; }
    .site-nav { display: none; position: absolute; top: 70px; left: 0; right: 0; padding: 14px var(--bo-gutter) 20px; background: #17151d; border-top: 1px solid rgba(255,255,255,.08); box-shadow: 0 18px 30px rgba(7,6,10,.18); }
    .site-nav.open { display: block; }
    .site-nav ul { flex-direction: column; align-items: stretch; gap: 4px; }
    .site-nav a { width: 100%; padding: 8px 4px; }
    .site-nav a::after { display: none; }
    .bookorbit-header-tools { grid-column: 3; grid-row: 1; gap: 4px; }
    .bookorbit-header-icon { width: 36px; height: 36px; }
    .bookorbit-header-icon svg { width: 19px; height: 19px; }
    .bookorbit-header-avatar { width: 38px; height: 38px; margin-left: 2px; }
    .bookorbit-header-login { display: none; }
    .bookorbit-header-join { min-height: 36px; padding: 6px 11px; font-size: .82rem; }
    .hero { padding: 70px 0; }
    .hero h1 { font-size: clamp(3.3rem, 15vw, 4.6rem); }
    .hero-grid { gap: 36px; }
    .orbit-art { width: min(260px, 70vw); }
    .homepage-review-card, .review-list-item { grid-template-columns: 1fr; }
    .review-list-cover img { min-height: 0; max-height: 460px; object-fit: contain; background: var(--bo-charcoal); }
    .community-link-grid, .login-action-grid, .bookorbit-member-grid, #buddypress #members-list, .homepage-member-grid { grid-template-columns: 1fr; }
    .homepage-members-heading { align-items: flex-start; flex-direction: column; }
    .page-content { margin-top: 28px; padding: 26px 20px; }
    .review-layout { padding-top: 34px; }
    .review-content { padding: 28px 22px; }
    .review-title { font-size: 3.2rem; }
    body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum, body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum { min-height: 0; padding: 22px !important; }
    body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum, body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum { grid-template-columns: 1fr; gap: 7px; }
    #bbpress-forums .bbp-replies .bbp-body > div.reply { grid-template-columns: 1fr; }
    #bbpress-forums .bbp-reply-author, #bbpress-forums .bbp-reply-content { float: none; width: 100%; }
    #bbpress-forums .bbp-reply-author { border-right: 0; border-bottom: 1px solid var(--bo-border); text-align: left; }
    body:is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-nav ul { display: grid; grid-template-columns: 1fr 1fr; }
    body:is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-nav li a { width: 100%; justify-content: center; padding: 9px 10px; font-size: .88rem; }
    .bookorbit-public-member-header #header-cover-image { height: 190px; min-height: 190px; border-radius: 18px; }
    .bookorbit-profile-identity-row { grid-template-columns: 116px minmax(0,1fr); gap: 18px; margin-top: 16px; padding: 0 12px; }
    .bookorbit-public-member-header #item-header-avatar img.avatar { width: 108px; height: 108px; border-width: 4px; border-radius: 20px; }
    .bookorbit-member-heading { padding-top: 8px; }
    .bookorbit-member-name { font-size: 2rem; }
    .bookorbit-pronouns { font-size: .78rem; }
    .bookorbit-profile-actions a, .bookorbit-profile-actions button { font-size: .72rem !important; }
    .bookorbit-profile-content-grid { grid-template-columns: 1fr; gap: 14px; padding: 0 12px 10px; }
    .bookorbit-profile-right { gap: 14px; }
    .bookorbit-compact-identity { grid-template-columns: 66px minmax(0,1fr); }
    .bookorbit-compact-member-header #item-header-avatar img.avatar { width: 66px; height: 66px; }
    .bookorbit-compact-member-header .bookorbit-member-name { font-size: 1.8rem; }
    .footer-nav { flex-wrap: wrap; }
}


/* =============================================================================
   20. v2.2.5 PROFILE EXPERIMENT — BANNER AS PROFILE SIGNATURE
   The public profile no longer uses a top cover. Identity appears first, profile
   details second, and the member cover image becomes a wide signature panel at
   the bottom. BuddyPress primary navigation is already a sibling of #item-header;
   force its visual order above the header rather than moving it with JavaScript.
   ============================================================================= */
body:not(.bookorbit-member-compact):is(.buddypress,.bp-user,.bp-user-page) #buddypress .bp-wrap {
    display: flex !important;
    flex-direction: column !important;
}
body:not(.bookorbit-member-compact):is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-nav {
    order: -20 !important;
    position: static !important;
    inset: auto !important;
    float: none !important;
    transform: none !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 8px !important;
    border: 1px solid var(--bo-border) !important;
    border-radius: 16px !important;
    background: var(--bo-surface-2) !important;
}
body:not(.bookorbit-member-compact):is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-header { order: -10 !important; }
body:not(.bookorbit-member-compact):is(.buddypress,.bp-user,.bp-user-page) #buddypress #item-body { order: 0 !important; }

/* Identity is the first visual section now. */
#buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
    margin: 18px 0 0 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-content-grid {
    margin-top: 58px !important;
}

/* Bottom banner: deliberately separate from avatar/name and profile cards. */
#buddypress .bookorbit-public-member-header .bookorbit-cover-bottom {
    display: block !important;
    position: relative !important;
    width: calc(100% - clamp(40px,6vw,92px)) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 64px auto 10px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 38px rgba(31,28,35,.12);
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-bottom #header-cover-image {
    display: block !important;
    width: 100% !important;
    height: clamp(210px, 19vw, 300px) !important;
    min-height: 210px !important;
    margin: 0 !important;
    border-radius: 22px !important;
    background-size: cover !important;
    background-position: center !important;
}

@media (max-width: 760px) {
    #buddypress .bookorbit-public-member-header .bookorbit-cover-bottom {
        width: calc(100% - 24px) !important;
        margin-top: 40px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-bottom #header-cover-image {
        height: 190px !important;
        min-height: 190px !important;
    }
}


/* =============================================================================
   21. v2.2.6 PROFILE FINAL RESPONSIVE PASS
   - Primary member navigation gets a real destination above the profile.
   - Bottom banner is a smaller centered signature image.
   - Tablet/mobile layouts are intentionally rearranged rather than squeezed.
   - Friend / Message actions remain under identity for other members only.
   ============================================================================= */

/* Navigation moved here by theme.js. */
#buddypress .bookorbit-public-member-header .bookorbit-profile-nav-slot {
    display: block !important;
    width: 100% !important;
    margin: 0 0 34px !important;
    padding: 0 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-nav-slot:empty {
    display: block !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-nav-slot #item-nav {
    display: block !important;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px !important;
    background: var(--bo-lavender-soft) !important;
    border: 1px solid var(--bo-border) !important;
    border-radius: 16px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-nav-slot #item-nav ul {
    margin: 0 !important;
}

/* Desktop identity: avatar and member name are one clean row. */
#buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
    margin-top: 10px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-content-grid {
    margin-top: 54px !important;
}

/* The cover is decorative at the bottom, not a second full-width hero. */
#buddypress .bookorbit-public-member-header .bookorbit-cover-bottom {
    display: block !important;
    position: relative !important;
    width: min(880px, calc(100% - 120px)) !important;
    margin: 54px auto 8px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 32px rgba(31,28,35,.12) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-bottom #header-cover-image {
    display: block !important;
    width: 100% !important;
    height: 210px !important;
    min-height: 210px !important;
    margin: 0 !important;
    border-radius: 20px !important;
    background-size: cover !important;
    background-position: center !important;
}

/* Tablet: one-column profile cards, but identity remains comfortably horizontal. */
@media (max-width: 900px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-nav-slot {
        margin-bottom: 28px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 150px minmax(0,1fr) !important;
        gap: 26px !important;
        min-height: 150px !important;
        padding: 0 18px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-column,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
        width: 150px !important;
        height: 150px !important;
        max-width: 150px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-content-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        margin-top: 46px !important;
        padding: 0 18px 10px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-right {
        gap: 14px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-bottom {
        width: min(680px, calc(100% - 64px)) !important;
        margin-top: 42px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-bottom #header-cover-image {
        height: 180px !important;
        min-height: 180px !important;
    }
}

/* Phone: stack and center identity so no text gets crushed off-screen. */
@media (max-width: 600px) {
    body:is(.buddypress,.bp-user,.bp-user-page) .page-content {
        width: calc(100% - 20px) !important;
        padding: 22px 12px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-nav-slot {
        margin-bottom: 30px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-nav-slot #item-nav {
        padding: 7px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-nav-slot #item-nav ul {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 7px !important;
        padding: 0 !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-nav-slot #item-nav li,
    #buddypress .bookorbit-public-member-header .bookorbit-profile-nav-slot #item-nav li a {
        width: 100% !important;
        margin: 0 !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-nav-slot #item-nav li a {
        justify-content: center !important;
        text-align: center !important;
        padding: 10px 6px !important;
        font-size: .78rem !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 18px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 10px !important;
        text-align: center !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-column,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
        width: 142px !important;
        height: 142px !important;
        max-width: 142px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-member-heading {
        width: 100% !important;
        text-align: center !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-member-identity {
        justify-content: center !important;
        align-items: baseline !important;
        gap: 7px 10px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-member-name {
        font-size: 2.35rem !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-meta {
        margin-top: 10px !important;
        text-align: center !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-actions {
        justify-content: center !important;
        margin-top: 16px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-actions a,
    #buddypress .bookorbit-public-member-header .bookorbit-profile-actions button {
        min-height: 40px !important;
        padding: 8px 13px !important;
        font-size: .76rem !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-content-grid {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
        margin-top: 38px !important;
        padding: 0 4px 8px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-card {
        padding: 21px 20px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-bottom {
        width: calc(100% - 24px) !important;
        margin: 34px auto 4px !important;
        border-radius: 16px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-bottom #header-cover-image {
        height: 145px !important;
        min-height: 145px !important;
        border-radius: 16px !important;
    }
}


/* =============================================================================
   22. v2.2.7 PROFILE LOCK-IN — SPINES & STARS-OWNED NAV + SOCIAL ACTIONS
   BuddyPress keeps its original member navigation for functionality, but the
   visible navigation is now rendered directly by Spines & Stars in the member header.
   This makes placement deterministic on desktop, tablet, and mobile.
   ============================================================================= */

/* Hide BuddyPress's original member nav.
   Safari Inspector confirmed Nouveau outputs it as nav#object-nav, not #item-nav.
   Spines & Stars renders the visible navigation directly in the member header. */
body.bp-user #buddypress nav#object-nav,
body.bp-user #buddypress #object-nav,
body.profile #buddypress nav#object-nav,
body.my-account #buddypress nav#object-nav,
#buddypress .buddypress-wrap nav#object-nav,
#buddypress .buddypress-wrap #object-nav {
    display: none !important;
}

/* Spines & Stars member navigation: always first inside the member header. */
#buddypress .bookorbit-member-nav {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 34px !important;
    padding: 8px !important;
    background: var(--bo-lavender-soft) !important;
    border: 1px solid var(--bo-border) !important;
    border-radius: 16px !important;
}
#buddypress .bookorbit-member-nav-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 18px !important;
    border-radius: 11px !important;
    color: var(--bo-plum-dark) !important;
    font-size: .86rem !important;
    font-weight: 800 !important;
    letter-spacing: .03em !important;
    text-decoration: none !important;
    transition: background .18s ease, color .18s ease, transform .18s ease !important;
}
#buddypress .bookorbit-member-nav-link:hover,
#buddypress .bookorbit-member-nav-link:focus-visible {
    background: rgba(113,88,120,.12) !important;
    color: var(--bo-plum-deep) !important;
    transform: translateY(-1px) !important;
}
#buddypress .bookorbit-member-nav-link.is-active {
    background: var(--bo-plum) !important;
    color: #fff !important;
}

/* Identity and social actions are a true section, not cover-image content. */
#buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 18px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-actions:empty {
    display: none !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-content-grid {
    margin-top: 62px !important;
}

/* Smaller centered signature banner at the end of the profile. */
#buddypress .bookorbit-public-member-header .bookorbit-cover-bottom {
    width: min(760px, 72%) !important;
    margin: 58px auto 10px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-bottom #header-cover-image {
    height: 180px !important;
    min-height: 180px !important;
}

/* Compact account screens use the same predictable navigation. */
#buddypress .bookorbit-member-nav-compact {
    margin-bottom: 24px !important;
}

@media (max-width: 900px) {
    #buddypress .bookorbit-member-nav {
        margin-bottom: 28px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-content-grid {
        margin-top: 54px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-bottom {
        width: min(620px, 78%) !important;
    }
}

@media (max-width: 600px) {
    #buddypress .bookorbit-member-nav {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 7px !important;
        margin-bottom: 28px !important;
        padding: 7px !important;
    }
    #buddypress .bookorbit-member-nav-link {
        width: 100% !important;
        min-height: 40px !important;
        padding: 9px 6px !important;
        font-size: .76rem !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-content-grid {
        margin-top: 46px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-bottom {
        width: 88% !important;
        margin-top: 38px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-bottom #header-cover-image {
        height: 135px !important;
        min-height: 135px !important;
    }
}

/* =============================================================================
   23. v2.2.9 MEMBER SHELL + SWITCHABLE COVER PLACEMENT
   The single-member home.php override removes Nouveau's duplicate object nav
   structurally. The cover header now supports one-line top/bottom switching.
   ============================================================================= */

/* The custom home.php intentionally owns the member shell. */
#buddypress .bookorbit-member-bp-wrap {
    width: 100%;
}

/* Shared cover treatment. */
#buddypress .bookorbit-public-member-header .bookorbit-cover {
    overflow: hidden !important;
    border: 1px solid var(--bo-border) !important;
    box-shadow: 0 14px 34px rgba(31,28,35,.12) !important;
}

/* Alternate TOP placement. Activate it by changing the PHP placement switch
   in buddypress/members/single/cover-image-header.php from bottom to top. */
#buddypress .bookorbit-public-member-header .bookorbit-cover-top {
    width: min(1040px, 92%) !important;
    margin: 0 auto 38px !important;
    border-radius: 18px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-top #header-cover-image {
    position: static !important;
    width: 100% !important;
    height: 210px !important;
    min-height: 210px !important;
    border-radius: 18px !important;
}

@media (max-width: 900px) {
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top {
        width: 94% !important;
        margin-bottom: 30px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top #header-cover-image {
        height: 175px !important;
        min-height: 175px !important;
    }
}

@media (max-width: 600px) {
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top {
        width: 92% !important;
        margin-bottom: 26px !important;
        border-radius: 15px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top #header-cover-image {
        height: 135px !important;
        min-height: 135px !important;
        border-radius: 15px !important;
    }
}

/* =============================================================================
   22. v2.3.0 PROFILE COVER RENDERER
   Render BuddyPress member covers as real images so the custom Spines & Stars
   profile can move them between top and bottom without depending on Nouveau's
   generated background-image selector. The cover remains decorative; profile
   identity and controls are separate content.
   ============================================================================= */
#buddypress .bookorbit-public-member-header .bookorbit-cover {
    background: transparent !important;
    border: 0 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover .bookorbit-cover-image {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-bottom {
    width: min(860px, calc(100% - 120px)) !important;
    margin: 54px auto 8px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-bottom .bookorbit-cover-image {
    height: clamp(180px, 16vw, 235px) !important;
    min-height: 0 !important;
    border-radius: 20px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-top {
    width: min(980px, calc(100% - 72px)) !important;
    margin: 28px auto 34px !important;
    overflow: hidden !important;
    border-radius: 20px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-top .bookorbit-cover-image {
    height: clamp(190px, 18vw, 260px) !important;
    min-height: 0 !important;
    border-radius: 20px !important;
}

/* Keep BuddyPress-generated social actions clearly attached to identity. */
#buddypress .bookorbit-public-member-header .bookorbit-profile-actions {
    margin-top: 18px !important;
    min-height: 42px;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-actions .member-header-actions,
#buddypress .bookorbit-public-member-header .bookorbit-profile-actions .generic-button {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 760px) {
    #buddypress .bookorbit-public-member-header .bookorbit-cover-bottom,
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top {
        width: calc(100% - 28px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-bottom .bookorbit-cover-image,
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top .bookorbit-cover-image {
        height: 165px !important;
        border-radius: 16px !important;
    }
}


/* =============================================================================
   24. v2.3.1 TOP COVER + MEMBER SHORTCUTS + BALANCED PROFILE CARDS
   Top cover is now the active profile treatment. Own-profile Friends/Messages
   shortcuts live directly beneath the avatar; other-member BuddyPress actions
   use the same location. Bio moves beneath Currently Reading for a 2x2 balance.
   ============================================================================= */
#buddypress .bookorbit-public-member-header .bookorbit-cover-top {
    width: min(1120px, calc(100% - 40px)) !important;
    margin: 28px auto 46px !important;
    border-radius: 22px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-top .bookorbit-cover-image {
    height: clamp(235px, 22vw, 330px) !important;
    border-radius: 22px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
    align-items: flex-start !important;
    margin-top: 0 !important;
    padding-top: 4px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-avatar-column {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-avatar-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 9px !important;
    width: 100% !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-action-link,
#buddypress .bookorbit-public-member-header .bookorbit-avatar-actions .generic-button a,
#buddypress .bookorbit-public-member-header .bookorbit-avatar-actions a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 9px 14px !important;
    border: 1px solid rgba(104,75,112,.28) !important;
    border-radius: 10px !important;
    background: var(--bo-plum) !important;
    color: #fff !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: 0 7px 18px rgba(55,42,60,.12) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-avatar-actions .member-header-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 9px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-member-heading {
    padding-top: 14px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-content-grid {
    margin-top: 54px !important;
    align-items: start !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-left,
#buddypress .bookorbit-public-member-header .bookorbit-profile-right {
    display: grid !important;
    gap: 18px !important;
    align-content: start !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-left .bookorbit-profile-card,
#buddypress .bookorbit-public-member-header .bookorbit-profile-right .bookorbit-profile-card {
    width: 100% !important;
    margin: 0 !important;
}

@media (max-width: 900px) {
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top {
        width: calc(100% - 30px) !important;
        margin-bottom: 38px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top .bookorbit-cover-image {
        height: clamp(210px, 28vw, 280px) !important;
    }
}
@media (max-width: 600px) {
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top {
        width: calc(100% - 20px) !important;
        margin: 20px auto 30px !important;
        border-radius: 16px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top .bookorbit-cover-image {
        height: 175px !important;
        border-radius: 16px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-member-heading {
        padding-top: 0 !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-content-grid {
        margin-top: 38px !important;
    }
}

/* =============================================================================
   25. v2.3.2 SPINES & STARS PROFILE IMAGE UPLOAD CONTROLS
   Adds native-feeling image upload cards to BuddyPress Edit Profile for the
   current-read cover, favorite book/series image, and optional background.
   ============================================================================= */
#buddypress .bookorbit-profile-media-editor {
    margin: 34px 0 26px !important;
    padding: 24px !important;
    border: 1px solid rgba(110, 83, 121, .20) !important;
    border-radius: 18px !important;
    background: rgba(245, 241, 247, .72) !important;
}
#buddypress .bookorbit-profile-media-editor-heading {
    margin-bottom: 18px !important;
}
#buddypress .bookorbit-profile-media-kicker {
    display: block !important;
    margin-bottom: 4px !important;
    color: var(--bo-plum) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
}
#buddypress .bookorbit-profile-media-editor h3 {
    margin: 0 0 6px !important;
    color: var(--bo-ink) !important;
    font-size: 1.35rem !important;
}
#buddypress .bookorbit-profile-media-editor-heading p,
#buddypress .bookorbit-profile-media-note,
#buddypress .bookorbit-profile-media-copy p {
    margin: 0 !important;
    color: var(--bo-muted) !important;
    line-height: 1.55 !important;
}
#buddypress .bookorbit-profile-media-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}
#buddypress .bookorbit-profile-media-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    padding: 16px !important;
    border: 1px solid rgba(110, 83, 121, .18) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .78) !important;
    box-shadow: 0 10px 24px rgba(42, 35, 47, .07) !important;
}
#buddypress .bookorbit-profile-media-copy h4 {
    margin: 0 0 5px !important;
    color: var(--bo-ink) !important;
    font-size: .95rem !important;
}
#buddypress .bookorbit-profile-media-copy p {
    min-height: 48px !important;
    font-size: .78rem !important;
}
#buddypress .bookorbit-profile-media-preview {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 14px 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(110, 83, 121, .16) !important;
    border-radius: 13px !important;
    background: linear-gradient(145deg, rgba(223, 213, 232, .70), rgba(239, 235, 243, .92)) !important;
}
#buddypress .bookorbit-profile-media-card.is-book-cover .bookorbit-profile-media-preview {
    aspect-ratio: 3 / 4 !important;
    max-height: 220px !important;
}
#buddypress .bookorbit-profile-media-card.is-background .bookorbit-profile-media-preview {
    aspect-ratio: 16 / 9 !important;
    max-height: 220px !important;
}
#buddypress .bookorbit-profile-media-preview img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
#buddypress .bookorbit-profile-media-preview.is-empty span {
    font-size: 2rem !important;
    opacity: .60 !important;
}
#buddypress .bookorbit-profile-media-file-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 42px !important;
    margin-top: auto !important;
    padding: 10px 12px !important;
    border-radius: 11px !important;
    background: var(--bo-plum) !important;
    color: #fff !important;
    font-size: .80rem !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}
#buddypress .bookorbit-profile-media-file-label:hover {
    filter: brightness(1.06) !important;
}
#buddypress .bookorbit-profile-media-file-label input[type="file"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}
#buddypress .bookorbit-profile-media-remove {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin-top: 10px !important;
    color: var(--bo-muted) !important;
    font-size: .76rem !important;
    font-weight: 700 !important;
}
#buddypress .bookorbit-profile-media-note {
    margin-top: 15px !important;
    font-size: .77rem !important;
}

@media (max-width: 900px) {
    #buddypress .bookorbit-profile-media-grid {
        grid-template-columns: 1fr 1fr !important;
    }
    #buddypress .bookorbit-profile-media-card.is-background {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 600px) {
    #buddypress .bookorbit-profile-media-editor {
        padding: 18px !important;
    }
    #buddypress .bookorbit-profile-media-grid {
        grid-template-columns: 1fr !important;
    }
    #buddypress .bookorbit-profile-media-card.is-background {
        grid-column: auto !important;
    }
}

/* =============================================================================
   25. v2.3.4 SPINES & STARS PROFILE SHOWCASE + BUG FIXES
   Target: large cover + larger identity/actions + featured Currently Reading.
   Fixes: Author Page links bypass BuddyPress AJAX and uploaded profile
   backgrounds remain visibly present behind the readable profile panels.
   ============================================================================= */
#buddypress .bookorbit-public-member-header {
    position: relative !important;
    overflow: hidden !important;
    padding: 22px clamp(18px, 2.5vw, 34px) 44px !important;
    border-radius: 26px !important;
    background-color: #2b2231 !important;
    background-image: linear-gradient(rgba(31,23,37,.22), rgba(31,23,37,.22)), var(--bookorbit-profile-bg, none) !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-member-nav {
    position: relative !important;
    z-index: 4 !important;
    margin: 0 0 16px !important;
    background: rgba(238,232,244,.96) !important;
    backdrop-filter: blur(8px);
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-top {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    border-radius: 20px 20px 0 0 !important;
    overflow: hidden !important;
    box-shadow: 0 14px 32px rgba(20,12,25,.24) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-top .bookorbit-cover-image {
    display: block !important;
    width: 100% !important;
    height: clamp(320px, 30vw, 455px) !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 20px 20px 0 0 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
    position: relative !important;
    z-index: 3 !important;
    display: grid !important;
    grid-template-columns: 195px minmax(240px, 1fr) auto !important;
    gap: 34px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 28px 22px 26px !important;
    background: rgba(244,240,247,.96) !important;
    border-radius: 0 0 20px 20px !important;
    box-shadow: 0 12px 28px rgba(24,16,29,.14) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-avatar-column {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin-top: -94px !important;
    position: relative !important;
    z-index: 5 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
#buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
    width: 172px !important;
    height: 172px !important;
    max-width: none !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
    object-fit: cover !important;
    border: 7px solid rgba(247,243,249,.99) !important;
    border-radius: 26px !important;
    box-shadow: 0 12px 28px rgba(34,22,39,.25) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-member-heading {
    padding: 0 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-member-name {
    font-size: clamp(2.35rem, 3.6vw, 3.65rem) !important;
    line-height: 1 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-pronouns {
    font-size: 1.12rem !important;
    font-weight: 800 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-meta {
    font-size: .98rem !important;
    margin-top: 14px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-identity-actions,
#buddypress .bookorbit-public-member-header .bookorbit-identity-actions .member-header-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 16px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-identity-actions .bookorbit-profile-action-link,
#buddypress .bookorbit-public-member-header .bookorbit-identity-actions .generic-button a,
#buddypress .bookorbit-public-member-header .bookorbit-identity-actions a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 11px !important;
    min-width: 168px !important;
    min-height: 60px !important;
    padding: 15px 24px !important;
    border: 1px solid rgba(103,66,117,.34) !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg, #8d66a0, #62416f) !important;
    color: #fff !important;
    font-size: 1.12rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(48,28,57,.2) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-identity-actions svg {
    width: 25px !important;
    height: 25px !important;
    fill: currentColor !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-feature-grid {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr) !important;
    gap: 24px !important;
    margin: 26px 0 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-reading-feature-column,
#buddypress .bookorbit-public-member-header .bookorbit-about-column {
    display: grid !important;
    gap: 18px !important;
    align-content: start !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-card {
    margin: 0 !important;
    padding: 24px 26px !important;
    border: 1px solid rgba(108,86,116,.2) !important;
    border-radius: 17px !important;
    background: rgba(250,248,251,.96) !important;
    box-shadow: 0 9px 24px rgba(22,15,27,.14) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-current-reading-card {
    min-height: 100% !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-card-heading {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    margin: 0 0 19px !important;
    font-size: 1.08rem !important;
    letter-spacing: .14em !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-section-icon {
    display: inline-flex !important;
    color: #795087 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-section-icon svg {
    width: 26px !important;
    height: 26px !important;
    fill: currentColor !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-reading-feature {
    display: grid !important;
    grid-template-columns: 170px minmax(0,1fr) !important;
    gap: 26px !important;
    align-items: start !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-reading-cover {
    width: 170px !important;
    aspect-ratio: 2 / 3 !important;
    object-fit: cover !important;
    border-radius: 11px !important;
    box-shadow: 0 10px 24px rgba(28,19,33,.2) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-reading-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 19px !important;
    padding-top: 7px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-reading-title {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-progress-row {
    display: grid !important;
    grid-template-columns: minmax(120px,1fr) auto !important;
    gap: 15px !important;
    align-items: center !important;
    font-size: .98rem !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-progress-track {
    height: 12px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #ddd4e4 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-progress-track span {
    display: block !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: #8b5e99 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-author-link {
    position: relative !important;
    z-index: 20 !important;
    display: inline-flex !important;
    align-self: flex-start !important;
    align-items: center !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
    border-radius: 10px !important;
    color: #684273 !important;
    background: rgba(139,94,153,.10) !important;
    font-size: .98rem !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-author-link:hover,
#buddypress .bookorbit-public-member-header .bookorbit-author-link:focus-visible {
    color: #4f3159 !important;
    background: rgba(139,94,153,.18) !important;
    text-decoration: underline !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-favorite-book-content {
    display: flex !important;
    gap: 17px !important;
    align-items: center !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-favorite-cover {
    width: 78px !important;
    aspect-ratio: 2 / 3 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    box-shadow: 0 7px 16px rgba(35,24,40,.16) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-card-content,
#buddypress .bookorbit-public-member-header .bookorbit-genre-pill {
    font-size: .96rem !important;
}

@media (max-width: 900px) {
    #buddypress .bookorbit-public-member-header { padding: 18px 16px 34px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top .bookorbit-cover-image { height: 285px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 150px 1fr !important;
        gap: 22px !important;
        padding: 24px 18px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-column { margin-top: -70px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar { width: 136px !important; height: 136px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-identity-actions { grid-column: 1 / -1 !important; justify-content: flex-start !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-feature-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 600px) {
    #buddypress .bookorbit-public-member-header { padding: 12px 10px 26px !important; border-radius: 18px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-cover-top .bookorbit-cover-image { height: 205px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 1fr !important;
        text-align: center !important;
        justify-items: center !important;
        padding: 20px 12px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-column { margin-top: -62px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar { width: 126px !important; height: 126px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-identity-actions { justify-content: center !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-identity-actions .bookorbit-profile-action-link { min-width: 136px !important; min-height: 52px !important; font-size: 1rem !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-reading-feature { grid-template-columns: 100px minmax(0,1fr) !important; gap: 16px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-reading-cover { width: 100px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-progress-row { grid-template-columns: 1fr !important; gap: 8px !important; }
}



/* =============================================================================
   27. v2.3.5 MEMBER IDENTITY + STATUS + PROFILE THEME ACCENTS
   Enlarges the member identity area, surfaces the optional Status Update, and
   lets the existing Profile Color Theme field drive Spines & Stars accent variables.
   Uploaded member imagery remains account-specific and is never a theme default.
   ============================================================================= */
#buddypress .bookorbit-public-member-header {
    --bo-member-accent: #80528f;
    --bo-member-accent-strong: #5e386c;
    --bo-member-accent-soft: #eadff0;
    --bo-member-accent-wash: rgba(128,82,143,.12);
}
/* These aliases support the three Spines & Stars families even if their labels evolve. */
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-midnight"] {
    --bo-member-accent: #65558f;
    --bo-member-accent-strong: #40365f;
    --bo-member-accent-soft: #ded9ed;
    --bo-member-accent-wash: rgba(101,85,143,.13);
}
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-lavender"],
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-orbit"] {
    --bo-member-accent: #80528f;
    --bo-member-accent-strong: #5e386c;
    --bo-member-accent-soft: #eadff0;
    --bo-member-accent-wash: rgba(128,82,143,.12);
}
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-rose"],
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-pink"] {
    --bo-member-accent: #9b5f79;
    --bo-member-accent-strong: #704052;
    --bo-member-accent-soft: #f0dfe6;
    --bo-member-accent-wash: rgba(155,95,121,.12);
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
    grid-template-columns: 220px minmax(300px,1fr) auto !important;
    gap: 38px !important;
    min-height: 224px !important;
    padding: 34px 30px 30px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-avatar-column {
    margin-top: -108px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
#buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
    width: 196px !important;
    height: 196px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
    border-width: 8px !important;
    border-radius: 30px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-member-name {
    font-size: clamp(2.75rem,4vw,4.15rem) !important;
    letter-spacing: -.035em !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-pronouns {
    color: var(--bo-member-accent-strong) !important;
    font-size: 1.18rem !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-meta {
    margin-top: 13px !important;
    font-size: 1rem !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-status-update {
    max-width: 620px !important;
    margin-top: 13px !important;
    color: #5e5662 !important;
    font-size: 1.05rem !important;
    font-style: italic !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-status-update::before {
    content: "“";
    color: var(--bo-member-accent) !important;
    font-size: 1.2em;
}
#buddypress .bookorbit-public-member-header .bookorbit-status-update::after {
    content: "”";
    color: var(--bo-member-accent) !important;
    font-size: 1.2em;
}
#buddypress .bookorbit-public-member-header .bookorbit-identity-actions .bookorbit-profile-action-link,
#buddypress .bookorbit-public-member-header .bookorbit-identity-actions .generic-button a,
#buddypress .bookorbit-public-member-header .bookorbit-identity-actions a.button {
    background: linear-gradient(135deg,var(--bo-member-accent),var(--bo-member-accent-strong)) !important;
    border-color: var(--bo-member-accent) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-section-icon,
#buddypress .bookorbit-public-member-header .bookorbit-author-link {
    color: var(--bo-member-accent-strong) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-author-link {
    background: var(--bo-member-accent-wash) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-progress-track span {
    background: var(--bo-member-accent) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-genre-pill {
    border-color: var(--bo-member-accent-soft) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-member-nav-link.is-active {
    color: var(--bo-member-accent-strong) !important;
}

@media (max-width: 900px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 160px minmax(0,1fr) !important;
        min-height: 0 !important;
        gap: 24px !important;
        padding: 28px 20px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-column { margin-top: -76px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar { width: 150px !important; height: 150px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-member-name { font-size: clamp(2.25rem,7vw,3.25rem) !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-identity-actions { grid-column: 1 / -1 !important; }
}
@media (max-width: 600px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row { grid-template-columns: 1fr !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-column { margin-top: -68px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar { width: 138px !important; height: 138px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-member-name { font-size: 2.45rem !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-status-update { max-width: 34rem !important; font-size: 1rem !important; }
}


/* =============================================================================
   25. v2.3.6 PROFILE BALANCE + LARGER AVATAR
   Favorite Book/Series now lives beneath Currently Reading. Desktop avatar
   gets a deliberate visual jump while tablet/mobile remain responsive.
   ============================================================================= */
@media (min-width: 901px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 254px minmax(320px,1fr) auto !important;
        min-height: 258px !important;
        gap: 42px !important;
        padding-top: 40px !important;
        padding-bottom: 34px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-column {
        margin-top: -126px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
        width: 228px !important;
        height: 228px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
        border-width: 8px !important;
        border-radius: 32px !important;
    }
}
#buddypress .bookorbit-public-member-header .bookorbit-reading-feature-column,
#buddypress .bookorbit-public-member-header .bookorbit-about-column {
    align-content: start !important;
}


/* =============================================================================
   26. v2.3.7 AVATAR + MATCHED BOOK COVERS + FAVORITE AUTHOR LINK
   Desktop avatar is intentionally oversized for a stronger identity section.
   Favorite Book/Series now mirrors the Currently Reading cover proportions.
   ============================================================================= */
@media (min-width: 901px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 346px minmax(320px,1fr) auto !important;
        min-height: 344px !important;
        gap: 42px !important;
        padding-top: 54px !important;
        padding-bottom: 38px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-column {
        margin-top: -170px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
        width: 320px !important;
        height: 320px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
        border-width: 9px !important;
        border-radius: 38px !important;
    }
}
#buddypress .bookorbit-public-member-header .bookorbit-favorite-book-content {
    display: grid !important;
    grid-template-columns: 170px minmax(0,1fr) !important;
    gap: 26px !important;
    align-items: start !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-favorite-cover {
    width: 170px !important;
    aspect-ratio: 2 / 3 !important;
    object-fit: cover !important;
    border-radius: 11px !important;
    box-shadow: 0 10px 24px rgba(28,19,33,.2) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-favorite-book-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    padding-top: 7px !important;
    align-items: flex-start !important;
}
@media (max-width: 900px) {
    #buddypress .bookorbit-public-member-header .bookorbit-favorite-book-content {
        grid-template-columns: 100px minmax(0,1fr) !important;
        gap: 16px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-favorite-cover { width: 100px !important; }
}
@media (max-width: 600px) {
    #buddypress .bookorbit-public-member-header .bookorbit-favorite-book-content {
        grid-template-columns: 86px minmax(0,1fr) !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-favorite-cover { width: 86px !important; }
}


/* =============================================================================
   27. v2.3.8 AGE + COUNTRY IDENTITY DETAILS
   Adds the optional Age / Country line beneath display name + pronouns. The
   divider only renders when both fields are present, so partial profiles stay
   clean. Identity content sits slightly higher on desktop for better balance.
   ============================================================================= */
#buddypress .bookorbit-public-member-header .bookorbit-member-demographics {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 9px !important;
    margin-top: 8px !important;
    color: #5f5664 !important;
    font-size: 1rem !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-demographic-divider {
    color: var(--bo-member-accent) !important;
    font-size: 1.05em !important;
}
@media (min-width: 901px) {
    #buddypress .bookorbit-public-member-header .bookorbit-member-heading {
        padding-top: 0 !important;
        transform: translateY(-12px);
    }
}
@media (max-width: 600px) {
    #buddypress .bookorbit-public-member-header .bookorbit-member-demographics {
        justify-content: center !important;
        font-size: .94rem !important;
    }
}

/* =============================================================================
   28. v2.3.9 COMPACT IDENTITY + MY SHELF PREVIEW
   Moves Friends/Messages beneath the avatar and uses the upper-right identity
   area for a compact My Shelf summary. Keeps the demographics and shelf close
   together so the header does not grow into an oversized blank panel.
   ============================================================================= */
#buddypress .bookorbit-public-member-header .bookorbit-avatar-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 12px !important;
    width: 320px !important;
    margin-top: 14px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-avatar-actions .bookorbit-profile-action-link,
#buddypress .bookorbit-public-member-header .bookorbit-avatar-actions .generic-button a,
#buddypress .bookorbit-public-member-header .bookorbit-avatar-actions a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 43px !important;
    padding: 10px 14px !important;
    border: 1px solid var(--bo-member-accent) !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg,var(--bo-member-accent),var(--bo-member-accent-strong)) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(55,32,65,.16) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    line-height: 1.1 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-avatar-actions svg {
    width: 16px !important;
    height: 16px !important;
    fill: currentColor !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-preview {
    align-self: start !important;
    width: min(100%, 390px) !important;
    margin-top: -8px !important;
    padding: 18px !important;
    border: 1px solid rgba(111,70,126,.12) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg,rgba(245,237,248,.96),rgba(231,216,238,.94)) !important;
    box-shadow: 0 12px 28px rgba(31,20,37,.12) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-preview-heading {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin-bottom: 12px !important;
    color: var(--bo-member-accent-strong) !important;
    font-size: .95rem !important;
    font-weight: 900 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-preview-icon svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-stats {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 10px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-stat {
    display: flex !important;
    min-width: 0 !important;
    min-height: 78px !important;
    padding: 10px 6px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    border: 1px solid rgba(111,70,126,.10) !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.44) !important;
    text-align: center !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-stat strong {
    color: #2d2432 !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-stat span {
    margin-top: 6px !important;
    color: #615568 !important;
    font-size: .83rem !important;
    font-weight: 750 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 40px !important;
    margin-top: 11px !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg,var(--bo-member-accent),var(--bo-member-accent-strong)) !important;
    color: #fff !important;
    font-size: .9rem !important;
    font-weight: 850 !important;
    text-align: center !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-link.is-coming-soon {
    cursor: default !important;
}
@media (min-width: 901px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 346px minmax(270px,1fr) minmax(330px,390px) !important;
        gap: 28px !important;
        min-height: 340px !important;
        padding: 42px 28px 28px !important;
        align-items: start !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-column {
        margin-top: -170px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-member-heading {
        padding-top: 0 !important;
        transform: translateY(-4px) !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-member-demographics {
        margin-top: 6px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-meta {
        margin-top: 9px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-status-update {
        margin-top: 9px !important;
    }
}
@media (max-width: 1100px) and (min-width: 901px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 300px minmax(250px,1fr) minmax(300px,340px) !important;
        gap: 22px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
        width: 280px !important;
        height: 280px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-actions { width: 280px !important; }
}
@media (max-width: 900px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 160px minmax(0,1fr) !important;
        gap: 22px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-actions {
        width: 150px !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        margin-top: 10px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-preview {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        margin-top: 0 !important;
    }
}
@media (max-width: 600px) {
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-actions {
        width: 100% !important;
        max-width: 290px !important;
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-preview {
        padding: 15px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stats { gap: 7px !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stat {
        min-height: 70px !important;
        padding: 9px 4px !important;
    }
}


/* =============================================================================
   29. v2.4.0 PROFILE HEADER POLISH
   Locks in the approved desktop header: larger avatar, lowered social actions,
   stronger demographics, a live-status dot, and a roomier My Shelf preview.
   ============================================================================= */
#buddypress .bookorbit-public-member-header .bookorbit-member-demographics {
    color: #332a38 !important;
    font-weight: 850 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-meta {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-meta::before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 10px !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #45c95a !important;
    box-shadow: 0 0 0 3px rgba(69,201,90,.12) !important;
}
@media (min-width: 1101px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 382px minmax(270px,1fr) minmax(390px,440px) !important;
        gap: 24px !important;
        min-height: 370px !important;
        padding: 42px 28px 30px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-column {
        margin-top: -190px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
        width: 360px !important;
        height: 360px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-actions {
        width: 360px !important;
        margin-top: 22px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-preview {
        width: 100% !important;
        max-width: 440px !important;
        padding: 20px !important;
        margin-top: -4px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stat {
        min-height: 88px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stat strong {
        font-size: 1.7rem !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stat span {
        font-size: .88rem !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-link {
        min-height: 44px !important;
        font-size: .95rem !important;
    }
}


/* =============================================================================
   30. v2.4.1 WIDER PROFILE + LOWERED AVATAR
   Matches the approved desktop mockup more closely by widening the member
   canvas, giving the identity copy more room, and lowering the avatar/action
   stack without increasing the overall header height unnecessarily.
   ============================================================================= */
@media (min-width: 1101px) {
    body.bp-user .page-content,
    body.bp-user-page .page-content,
    body.buddypress.bp-user .page-content {
        width: min(1580px, calc(100% - 32px)) !important;
        padding-left: 28px !important;
        padding-right: 28px !important;
    }

    #buddypress .bookorbit-public-member-header {
        padding-left: 28px !important;
        padding-right: 28px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 382px minmax(360px, 1fr) minmax(410px, 460px) !important;
        gap: 18px !important;
        padding: 42px 24px 30px !important;
    }

    /* A smaller negative margin moves the 360px avatar farther down into the
       identity card while preserving its overlap with the cover image. */
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-column {
        margin-top: -160px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-avatar-actions {
        margin-top: 28px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-member-heading {
        padding-left: 4px !important;
        padding-right: 8px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-status-update {
        max-width: 700px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-shelf-preview {
        max-width: 460px !important;
    }
}


/* =============================================================================
   31. v2.4.2 HORIZONTAL PROFILE PROPORTIONS
   Uses the approved Kay reference: preserve the current 360px desktop avatar,
   stretch the member canvas horizontally, enlarge My Shelf, lengthen the
   avatar action buttons, and keep Bio/Genres in the lower-right column.
   Applies from 901px so the layout also works in narrower desktop windows.
   ============================================================================= */
@media (min-width: 901px) {
    body.bp-user .page-content,
    body.bp-user-page .page-content,
    body.buddypress.bp-user .page-content {
        width: calc(100% - 20px) !important;
        max-width: 1760px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    #buddypress .bookorbit-public-member-header {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 390px minmax(330px, 1fr) minmax(430px, 520px) !important;
        gap: 16px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    /* Keep the approved avatar size exactly as-is. */
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar,
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
        width: 360px !important;
        height: 360px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-avatar-actions {
        width: 360px !important;
        gap: 14px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-actions .bookorbit-profile-action-link,
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-actions .generic-button a,
    #buddypress .bookorbit-public-member-header .bookorbit-avatar-actions a.button {
        min-height: 48px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-member-heading {
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 4px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-status-update {
        max-width: 760px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-shelf-preview {
        width: 100% !important;
        max-width: 520px !important;
        padding: 20px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stat {
        min-height: 94px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stat strong {
        font-size: 1.85rem !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stat span {
        font-size: .9rem !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-link {
        min-height: 46px !important;
        font-size: .96rem !important;
    }

    /* Preserve the approved lower two-column structure while letting both
       columns benefit from the wider member canvas. */
    #buddypress .bookorbit-public-member-header .bookorbit-profile-details-grid {
        gap: 18px !important;
    }
}

/* At compact desktop widths, keep the same horizontal idea without allowing
   the three columns to overflow the browser window. */
@media (min-width: 901px) and (max-width: 1250px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 370px minmax(280px, 1fr) minmax(330px, 420px) !important;
        gap: 12px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-shelf-preview {
        max-width: 420px !important;
    }
}

/* =============================================================================
   32. v2.4.3 LARGER MY SHELF
   Keeps the approved v2.4.2 horizontal profile and 360px avatar unchanged,
   while giving My Shelf more visual weight on desktop. The shelf grows wider
   and taller without moving Bio/Genres from the lower-right column.
   ============================================================================= */
@media (min-width: 901px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 390px minmax(300px, 1fr) minmax(480px, 590px) !important;
        gap: 14px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-shelf-preview {
        width: 100% !important;
        max-width: 590px !important;
        padding: 22px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-shelf-preview-heading {
        margin-bottom: 14px !important;
        font-size: 1rem !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stats {
        gap: 12px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stat {
        min-height: 116px !important;
        padding: 16px 10px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stat strong {
        font-size: 2.05rem !important;
        line-height: 1 !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stat span {
        font-size: .95rem !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-shelf-link {
        min-height: 50px !important;
        margin-top: 12px !important;
        font-size: 1rem !important;
    }
}

@media (min-width: 901px) and (max-width: 1250px) {
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        grid-template-columns: 370px minmax(245px, 1fr) minmax(390px, 480px) !important;
        gap: 10px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-shelf-preview {
        max-width: 480px !important;
        padding: 18px !important;
    }

    #buddypress .bookorbit-public-member-header .bookorbit-shelf-stat {
        min-height: 104px !important;
    }
}

/* ================================================================
   33. v2.4.4 MY SHELF MEMBER PAGE
   ----------------------------------------------------------------
   Dedicated public member bookshelf. The profile preview now links here.
   TBR is capped visually at 40 active books; add/remove controls come next.
   ================================================================ */
.bookorbit-my-shelf-page {
    max-width: 1500px;
    margin: 0 auto 42px;
    padding: 0 22px 34px;
    color: #2d2234;
}

.bookorbit-shelf-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    padding: 32px 34px;
    border: 1px solid rgba(111,64,127,.16);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(250,247,252,.98), rgba(239,229,244,.96));
    box-shadow: 0 18px 46px rgba(33,21,39,.14);
}

.bookorbit-shelf-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: #765080;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.bookorbit-shelf-page-header h2 {
    margin: 0 0 8px;
    color: #2b2030;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1;
}

.bookorbit-shelf-page-header p {
    max-width: 720px;
    margin: 0;
    color: #66596b;
    font-size: 15px;
    line-height: 1.65;
}

.bookorbit-shelf-page-counts {
    display: grid;
    grid-template-columns: repeat(3, minmax(92px, 1fr));
    gap: 10px;
    min-width: 330px;
}

.bookorbit-shelf-page-counts > div {
    padding: 15px 12px;
    text-align: center;
    border: 1px solid rgba(111,64,127,.10);
    border-radius: 16px;
    background: rgba(255,255,255,.72);
}

.bookorbit-shelf-page-counts strong,
.bookorbit-shelf-page-counts span { display: block; }
.bookorbit-shelf-page-counts strong { font-size: 25px; line-height: 1; color: #63356f; }
.bookorbit-shelf-page-counts span { margin-top: 5px; font-size: 12px; font-weight: 800; color: #67566b; }

.bookorbit-shelf-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 18px 0;
    padding: 9px;
    border-radius: 16px;
    background: rgba(42,31,48,.76);
    backdrop-filter: blur(8px);
}

.bookorbit-shelf-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 16px;
    border-radius: 11px;
    color: #f7f0f8;
    font-weight: 800;
    text-decoration: none;
}

.bookorbit-shelf-tabs a:hover,
.bookorbit-shelf-tabs a:focus { background: rgba(160,104,177,.34); color: #fff; }
.bookorbit-shelf-tabs span { padding: 2px 7px; border-radius: 999px; background: rgba(255,255,255,.13); font-size: 11px; }

.bookorbit-shelf-sections { display: grid; gap: 18px; }
.bookorbit-shelf-section {
    padding: 26px 28px 30px;
    border: 1px solid rgba(111,64,127,.14);
    border-radius: 20px;
    background: rgba(250,248,251,.97);
    box-shadow: 0 14px 34px rgba(25,17,30,.12);
    scroll-margin-top: 30px;
}

.bookorbit-shelf-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}
.bookorbit-shelf-section-heading > div { display: flex; align-items: center; gap: 10px; }
.bookorbit-shelf-section-heading h3 { margin: 0; color: #5f356c; font-size: 16px; text-transform: uppercase; letter-spacing: .11em; }
.bookorbit-shelf-section-icon { font-size: 20px; }
.bookorbit-shelf-limit { color: #756879; font-size: 12px; font-weight: 800; }

.bookorbit-shelf-current-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 28px;
    align-items: center;
    max-width: 760px;
}
.bookorbit-shelf-book-cover {
    width: 150px;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    border-radius: 13px;
    box-shadow: 0 10px 22px rgba(31,21,35,.17);
}
.bookorbit-shelf-cover-placeholder {
    display: grid;
    place-items: center;
    width: 150px;
    aspect-ratio: 2 / 3;
    border-radius: 13px;
    background: #eee5f1;
    font-size: 38px;
}
.bookorbit-shelf-book-info h4 { margin: 0 0 17px; color: #2e2432; font-size: 20px; line-height: 1.35; }
.bookorbit-shelf-progress { width: min(100%, 430px); height: 9px; overflow: hidden; border-radius: 999px; background: #e5d9e8; }
.bookorbit-shelf-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #8b4c96, #aa73b3); }
.bookorbit-shelf-progress-label { display: inline-block; margin-top: 8px; color: #594c5d; font-size: 12px; }
.bookorbit-shelf-edit-link { display: inline-block; margin-top: 16px; padding: 9px 13px; border-radius: 9px; background: #eee2f1; color: #6a3875; font-weight: 800; text-decoration: none; }

.bookorbit-shelf-empty-state {
    padding: 36px 24px;
    text-align: center;
    border: 1px dashed rgba(111,64,127,.25);
    border-radius: 16px;
    background: rgba(239,230,243,.46);
}
.bookorbit-shelf-empty-state > span { display: block; margin-bottom: 8px; font-size: 28px; }
.bookorbit-shelf-empty-state h4 { margin: 0 0 7px; color: #4e3655; font-size: 17px; }
.bookorbit-shelf-empty-state p { max-width: 580px; margin: 0 auto; color: #746678; line-height: 1.55; }

.bookorbit-shelf-book-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px; }
.bookorbit-shelf-mini-card { min-height: 175px; padding: 16px; border-radius: 14px; background: #f1e8f3; }
.bookorbit-shelf-mini-cover { display: grid; place-items: center; height: 112px; border-radius: 10px; background: rgba(255,255,255,.63); font-size: 28px; }
.bookorbit-shelf-mini-card h4 { margin: 10px 0 0; color: #3d2c42; font-size: 13px; line-height: 1.35; }

/* My Shelf is public content, but its compact member header should still feel
   connected to the member profile rather than an account-settings screen. */
body.bookorbit-member-area.bookorbit-member-compact #buddypress .bookorbit-my-shelf-page a { transition: transform .15s ease, background .15s ease; }

@media (max-width: 900px) {
    .bookorbit-shelf-page-header { align-items: stretch; flex-direction: column; padding: 25px; }
    .bookorbit-shelf-page-counts { min-width: 0; width: 100%; }
    .bookorbit-shelf-current-card { grid-template-columns: 110px minmax(0,1fr); gap: 20px; }
    .bookorbit-shelf-book-cover, .bookorbit-shelf-cover-placeholder { width: 110px; }
}

@media (max-width: 600px) {
    .bookorbit-my-shelf-page { padding: 0 12px 24px; }
    .bookorbit-shelf-page-header, .bookorbit-shelf-section { padding: 20px 16px; }
    .bookorbit-shelf-page-counts { grid-template-columns: repeat(3, 1fr); gap: 6px; }
    .bookorbit-shelf-page-counts > div { padding: 12px 6px; }
    .bookorbit-shelf-tabs { display: grid; grid-template-columns: 1fr; }
    .bookorbit-shelf-current-card { grid-template-columns: 86px minmax(0,1fr); gap: 14px; }
    .bookorbit-shelf-book-cover, .bookorbit-shelf-cover-placeholder { width: 86px; }
    .bookorbit-shelf-section-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
}

/* ================================================================
   20. MY SHELF — MANUAL TBR + READ MANAGEMENT (v2.4.5)
   ================================================================ */
.bookorbit-shelf-heading-actions { display:flex; align-items:center; gap:12px; }
.bookorbit-shelf-add-panel { position:relative; }
.bookorbit-shelf-add-panel summary { list-style:none; cursor:pointer; padding:9px 13px; border-radius:9px; background:#7b4387; color:#fff; font-size:12px; font-weight:800; }
.bookorbit-shelf-add-panel summary::-webkit-details-marker { display:none; }
.bookorbit-shelf-add-form { position:absolute; z-index:20; right:0; top:calc(100% + 8px); width:310px; padding:16px; border-radius:14px; background:#faf7fb; box-shadow:0 14px 35px rgba(31,21,35,.22); border:1px solid rgba(111,64,127,.18); }
.bookorbit-shelf-add-form label { display:block; margin-bottom:11px; color:#513b58; font-size:12px; font-weight:800; }
.bookorbit-shelf-add-form input { box-sizing:border-box; width:100%; margin-top:5px; padding:10px 11px; border:1px solid #d8c9dc; border-radius:8px; background:#fff; color:#302535; }
.bookorbit-shelf-add-form button, .bookorbit-shelf-card-actions button { border:0; border-radius:8px; background:#7b4387; color:#fff; padding:8px 11px; font-weight:800; cursor:pointer; }
.bookorbit-shelf-notice { margin:0 0 14px; padding:12px 16px; border-radius:11px; background:#eee2f1; color:#5f356c; font-weight:800; }
.bookorbit-shelf-mini-card p { margin:5px 0 0; color:#746678; font-size:12px; line-height:1.35; }
.bookorbit-shelf-card-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.bookorbit-shelf-card-actions form { margin:0; }
.bookorbit-shelf-card-actions button { padding:7px 9px; font-size:11px; }
.bookorbit-shelf-card-actions .bookorbit-shelf-remove { background:#eee2f1; color:#744b7e; }
@media (max-width:600px) {
  .bookorbit-shelf-heading-actions { width:100%; justify-content:space-between; }
  .bookorbit-shelf-add-panel { position:static; }
  .bookorbit-shelf-add-form { position:relative; right:auto; top:auto; width:100%; margin-top:8px; box-shadow:none; }
}


/* ================================================================
   21. MY SHELF — COMPACT BOOK CARDS + READ SORTING (v2.4.6)
   ================================================================ */
.bookorbit-shelf-book-grid {
    grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
    gap: 12px;
}
.bookorbit-shelf-mini-card {
    min-height: 0;
    padding: 14px 15px;
    border: 1px solid rgba(111,64,127,.10);
    border-radius: 12px;
    background: #f1e8f3;
}
.bookorbit-shelf-mini-card h4 {
    margin: 0;
    color: #3d2c42;
    font-size: 14px;
    line-height: 1.3;
}
.bookorbit-shelf-mini-card p {
    margin: 4px 0 0;
    color: #746678;
    font-size: 12px;
    line-height: 1.35;
}
.bookorbit-shelf-mini-cover { display: none !important; }
.bookorbit-shelf-card-actions { margin-top: 10px; }
.bookorbit-read-heading-actions { flex-wrap: wrap; justify-content: flex-end; }
.bookorbit-read-sort-form { display: flex; align-items: center; gap: 7px; margin: 0; }
.bookorbit-read-sort-form label { color: #6a5a6d; font-size: 12px; font-weight: 800; }
.bookorbit-read-sort-form select {
    min-height: 34px;
    padding: 6px 30px 6px 9px;
    border: 1px solid #d8c9dc;
    border-radius: 8px;
    background: #faf7fb;
    color: #513b58;
    font-size: 12px;
    font-weight: 700;
}
@media (max-width: 700px) {
    .bookorbit-shelf-book-grid { grid-template-columns: 1fr; }
    .bookorbit-read-heading-actions { width: 100%; justify-content: space-between; }
    .bookorbit-read-sort-form { flex-wrap: wrap; }
}

/* ================================================================
   22. MY SHELF — VISUAL POLISH (v2.4.7)
   Keeps v2.4.6 shelf behavior intact; this pass is presentation only.
   ================================================================ */
.bookorbit-my-shelf-page {
    --bo-shelf-plum: #74407f;
    --bo-shelf-plum-dark: #53305e;
    --bo-shelf-lavender: #eee3f1;
    --bo-shelf-card: rgba(250,248,251,.98);
}
.bookorbit-shelf-sections { gap: 22px; }
.bookorbit-shelf-section {
    padding: 24px 26px;
    border: 1px solid rgba(101,62,112,.12);
    border-radius: 18px;
    background: var(--bo-shelf-card);
    box-shadow: 0 8px 24px rgba(39,25,44,.07);
}
.bookorbit-shelf-section-heading {
    gap: 18px;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(101,62,112,.10);
}
.bookorbit-shelf-section-heading h3 {
    font-size: 15px;
    letter-spacing: .12em;
}
.bookorbit-shelf-book-grid {
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
    gap: 14px;
    align-items: stretch;
}
.bookorbit-shelf-mini-card {
    display: flex;
    min-height: 128px;
    padding: 18px 18px 15px;
    flex-direction: column;
    border: 1px solid rgba(111,64,127,.13);
    border-radius: 14px;
    background: linear-gradient(145deg, #f7f1f8, #eee3f1);
    box-shadow: 0 5px 14px rgba(64,38,70,.06);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.bookorbit-shelf-mini-card:hover {
    transform: translateY(-2px);
    border-color: rgba(111,64,127,.25);
    box-shadow: 0 9px 20px rgba(64,38,70,.10);
}
.bookorbit-shelf-mini-card h4 {
    margin: 0;
    color: #35263a;
    font-size: 16px;
    font-weight: 850;
    line-height: 1.3;
}
.bookorbit-shelf-mini-card p {
    margin: 6px 0 0;
    color: #716276;
    font-size: 12.5px;
    line-height: 1.4;
}
.bookorbit-shelf-card-actions {
    margin-top: auto;
    padding-top: 15px;
    gap: 7px;
}
.bookorbit-shelf-card-actions button {
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--bo-shelf-plum);
    font-size: 11px;
    box-shadow: none;
}
.bookorbit-shelf-card-actions button:hover,
.bookorbit-shelf-card-actions button:focus {
    background: var(--bo-shelf-plum-dark);
}
.bookorbit-shelf-card-actions .bookorbit-shelf-remove {
    background: rgba(116,64,127,.10);
    color: #694373;
}
.bookorbit-shelf-card-actions .bookorbit-shelf-remove:hover,
.bookorbit-shelf-card-actions .bookorbit-shelf-remove:focus {
    background: rgba(116,64,127,.18);
    color: #51305a;
}
.bookorbit-shelf-limit {
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(116,64,127,.08);
    color: #69556d;
}
.bookorbit-shelf-add-panel summary {
    min-height: 36px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--bo-shelf-plum);
    box-shadow: 0 4px 10px rgba(72,39,80,.12);
}
.bookorbit-shelf-add-panel summary:hover,
.bookorbit-shelf-add-panel summary:focus { background: var(--bo-shelf-plum-dark); }
.bookorbit-read-sort-form {
    gap: 9px;
    padding: 4px 5px 4px 11px;
    border: 1px solid rgba(111,64,127,.14);
    border-radius: 999px;
    background: #f3eaf5;
}
.bookorbit-read-sort-form label {
    color: #674c6c;
    font-size: 11px;
    letter-spacing: .02em;
    white-space: nowrap;
}
.bookorbit-read-sort-form select {
    min-height: 30px;
    padding: 5px 30px 5px 11px;
    border: 0;
    border-radius: 999px;
    outline: 0;
    background-color: #fff;
    color: #57345f;
    font-size: 11.5px;
    box-shadow: 0 2px 6px rgba(64,38,70,.07);
}
.bookorbit-read-sort-form select:focus { box-shadow: 0 0 0 2px rgba(139,76,150,.20); }
.bookorbit-shelf-add-form {
    border-radius: 16px;
    background: #fbf8fc;
    box-shadow: 0 18px 42px rgba(31,21,35,.20);
}
.bookorbit-shelf-add-form input:focus {
    outline: 0;
    border-color: #a16bad;
    box-shadow: 0 0 0 3px rgba(139,76,150,.12);
}
.bookorbit-shelf-empty-state {
    min-height: 120px;
    box-sizing: border-box;
    border-radius: 14px;
    background: rgba(238,227,241,.38);
}
@media (min-width: 1180px) {
    .bookorbit-shelf-book-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
    .bookorbit-shelf-section { padding: 20px 18px; }
    .bookorbit-shelf-book-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .bookorbit-shelf-section-heading { align-items: flex-start; }
}
@media (max-width: 600px) {
    .bookorbit-shelf-book-grid { grid-template-columns: 1fr; }
    .bookorbit-read-sort-form { border-radius: 14px; }
}


/* ==========================================================================
   v2.4.8 — Public shelf read-only permissions
   ========================================================================== */
.bookorbit-shelf-public-view .bookorbit-shelf-section-heading {
    align-items: center;
}
.bookorbit-shelf-public-view .bookorbit-shelf-mini-card {
    min-height: 94px;
}


/* =============================================================================
   v2.4.10 FORUMS LANDING POLISH + RULES AGREEMENT GATE
   ============================================================================= */

/* Archive utility area: explicitly neutralize any plugin/default pale shell. */
body.bookorbit-forum-archive #bbpress-forums,
body.bbp-forum-archive #bbpress-forums {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.bookorbit-forum-archive #bbpress-forums > .bbp-breadcrumb,
body.bbp-forum-archive #bbpress-forums > .bbp-breadcrumb {
    padding: 0 4px;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form,
body.bbp-forum-archive #bbpress-forums .bbp-search-form {
    background: linear-gradient(145deg, rgba(47,43,53,.98), rgba(37,34,42,.98)) !important;
    border-color: rgba(214,198,222,.18) !important;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-template-notice,
body.bookorbit-forum-archive #bbpress-forums div.bbp-template-notice,
body.bbp-forum-archive #bbpress-forums .bbp-template-notice,
body.bbp-forum-archive #bbpress-forums div.bbp-template-notice {
    color: #efe9f2 !important;
    background: linear-gradient(145deg, rgba(54,49,61,.98), rgba(43,39,49,.98)) !important;
    border-color: rgba(214,198,222,.19) !important;
}

/* Cooler, richer forum cards with stronger text contrast. */
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum {
    background: linear-gradient(145deg, #d7d0dc, #c9c0cf) !important;
    border-color: rgba(94,75,103,.38) !important;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-title,
body.bbp-forum-archive #bbpress-forums .bbp-forum-title { color: #443148; }
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-content,
body.bbp-forum-archive #bbpress-forums .bbp-forum-content { color: #514a55; }
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-topic-count,
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-reply-count,
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-freshness,
body.bbp-forum-archive #bbpress-forums .bbp-forum-topic-count,
body.bbp-forum-archive #bbpress-forums .bbp-forum-reply-count,
body.bbp-forum-archive #bbpress-forums .bbp-forum-freshness {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 18px;
    padding: 5px 9px;
    background: rgba(255,255,255,.32);
    border: 1px solid rgba(83,66,91,.12);
    border-radius: 999px;
}

/* Current forum order: Coming Soon, Creative Corner, Genre Galaxies,
   Off the Shelf, Page to Screen, Theory Lab, Spoiler Black Hole, Reader Community. */
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(1)::before,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(1)::before { content: "☄"; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(2)::before,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(2)::before { content: "✎"; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(3)::before,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(3)::before { content: "✦"; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(4)::before,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(4)::before { content: "☕"; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(5)::before,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(5)::before { content: "▷"; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6)::before,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(6)::before { content: "⌕"; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(7)::before,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(7)::before { content: "●"; }
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(8)::before,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(8)::before { content: "☾"; }

/* Rules agreement gate. */
.bookorbit-forum-rules-gate {
    display: grid;
    grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr);
    gap: 22px;
    margin: 18px 0 24px;
    padding: 24px;
    color: #eee8f1;
    background:
        radial-gradient(circle at 92% 18%, rgba(159,131,170,.18), transparent 14rem),
        linear-gradient(145deg, #312d37, #25232a);
    border: 1px solid rgba(216,200,224,.18);
    border-radius: 22px;
    box-shadow: 0 16px 38px rgba(18,16,21,.18);
}
.bookorbit-forum-rules-gate .eyebrow {
    margin: 0 0 6px;
    color: #cdbed3;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .14em;
}
.bookorbit-forum-rules-gate h2 {
    margin: 0 0 8px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: clamp(1.45rem,2.2vw,2rem);
}
.bookorbit-forum-rules-gate p { margin: 0 0 12px; color: #d8d0dc; }
.bookorbit-rules-link {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 14px;
    color: #f3edf5 !important;
    background: rgba(134,104,145,.32);
    border: 1px solid rgba(218,201,226,.18);
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
}
.bookorbit-forum-rules-gate__form {
    align-self: center;
    padding: 18px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
}
.bookorbit-forum-rules-gate__form label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 14px;
    color: #eee8f1;
    font-size: .94rem;
    line-height: 1.5;
}
.bookorbit-forum-rules-gate__form input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #8f70a0;
}
.bookorbit-forum-rules-gate__form button {
    width: 100%;
    min-height: 44px;
    padding: 10px 16px;
    color: #fff;
    background: #765b7d;
    border: 0;
    border-radius: 999px;
    font-weight: 850;
    cursor: pointer;
}

/* People who have not agreed can read, but posting controls stay hidden. */
body.bookorbit-forum-rules-required #bbpress-forums .bbp-topic-form,
body.bookorbit-forum-rules-required #bbpress-forums .bbp-reply-form,
body.bookorbit-forum-rules-required #bbpress-forums form#new-post,
body.bookorbit-forum-rules-required #bbpress-forums .bbp-topic-reply-link,
body.bookorbit-forum-rules-required #bbpress-forums #favorite-toggle,
body.bookorbit-forum-rules-required #bbpress-forums #subscription-toggle {
    display: none !important;
}

@media (max-width: 820px) {
    .bookorbit-forum-rules-gate { grid-template-columns: 1fr; }
}


/* =============================================================================
   v2.4.11 FORUM UTILITY PANEL — REMOVE THE LAST PALE/CREAM STRIP
   =============================================================================
   This section intentionally targets the bbPress archive utility area at the
   source. It also covers the legacy .mbo-forum-access markup still produced by
   some cached/older forum output so the cream panel cannot reappear.
   ============================================================================= */
body.bookorbit-forum-archive .page-body,
body.bbp-forum-archive .page-body {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.bookorbit-forum-archive #bbpress-forums,
body.bbp-forum-archive #bbpress-forums {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Make the utility items read as one dark Spines & Stars panel instead of a pale strip. */
body.bookorbit-forum-archive #bbpress-forums > .bbp-breadcrumb,
body.bbp-forum-archive #bbpress-forums > .bbp-breadcrumb,
body.bookorbit-forum-archive #bbpress-forums > .bbp-search-form,
body.bbp-forum-archive #bbpress-forums > .bbp-search-form,
body.bookorbit-forum-archive #bbpress-forums > .bbp-template-notice,
body.bbp-forum-archive #bbpress-forums > .bbp-template-notice,
body.bookorbit-forum-archive #bbpress-forums > div.bbp-template-notice,
body.bbp-forum-archive #bbpress-forums > div.bbp-template-notice,
body.bookorbit-forum-archive #bbpress-forums > .mbo-forum-access,
body.bbp-forum-archive #bbpress-forums > .mbo-forum-access,
body.bookorbit-forum-archive #bbpress-forums > section[class*="forum-access"],
body.bbp-forum-archive #bbpress-forums > section[class*="forum-access"] {
    color: #efe9f2 !important;
    background: linear-gradient(145deg, rgba(50,45,57,.98), rgba(35,32,41,.98)) !important;
    border-color: rgba(218,202,226,.18) !important;
    box-shadow: none !important;
}

body.bookorbit-forum-archive #bbpress-forums > .bbp-breadcrumb,
body.bbp-forum-archive #bbpress-forums > .bbp-breadcrumb {
    margin: 0 !important;
    padding: 12px 18px 6px !important;
    border: 1px solid rgba(218,202,226,.18) !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
}

body.bookorbit-forum-archive #bbpress-forums > .bbp-breadcrumb a,
body.bbp-forum-archive #bbpress-forums > .bbp-breadcrumb a,
body.bookorbit-forum-archive #bbpress-forums .bbp-breadcrumb a {
    color: #d9c9df !important;
}

body.bookorbit-forum-archive #bbpress-forums > .bbp-search-form,
body.bbp-forum-archive #bbpress-forums > .bbp-search-form {
    margin: 0 !important;
    padding: 10px 18px 16px !important;
    border: 1px solid rgba(218,202,226,.18) !important;
    border-top: 0 !important;
    border-radius: 0 !important;
}

body.bookorbit-forum-archive #bbpress-forums > .bbp-template-notice,
body.bbp-forum-archive #bbpress-forums > .bbp-template-notice,
body.bookorbit-forum-archive #bbpress-forums > div.bbp-template-notice,
body.bbp-forum-archive #bbpress-forums > div.bbp-template-notice {
    margin: 0 !important;
    padding: 12px 18px !important;
    border: 1px solid rgba(218,202,226,.18) !important;
    border-top: 0 !important;
    border-left: 1px solid rgba(218,202,226,.18) !important;
    border-radius: 0 !important;
}

/* Legacy forum-access section shown in the current rendered markup. */
body.bookorbit-forum-archive .mbo-forum-access,
body.bbp-forum-archive .mbo-forum-access,
body.bookorbit-forum-archive section[class*="forum-access"],
body.bbp-forum-archive section[class*="forum-access"] {
    margin: 0 0 22px !important;
    padding: 12px 18px 16px !important;
    color: #efe9f2 !important;
    background: linear-gradient(145deg, rgba(50,45,57,.98), rgba(35,32,41,.98)) !important;
    border: 1px solid rgba(218,202,226,.18) !important;
    border-top: 0 !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow: 0 14px 30px rgba(15,13,18,.14) !important;
}

body.bookorbit-forum-archive .mbo-forum-access a,
body.bbp-forum-archive .mbo-forum-access a,
body.bookorbit-forum-archive section[class*="forum-access"] a,
body.bbp-forum-archive section[class*="forum-access"] a {
    color: #eadcf0 !important;
}

body.bookorbit-forum-archive .mbo-forum-access__buttons,
body.bbp-forum-archive .mbo-forum-access__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background: transparent !important;
}

/* Search field/button remain prominent against the dark utility panel. */
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="text"],
body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="text"] {
    color: #f7f3f8 !important;
    background: #2b2830 !important;
    border: 1px solid #5f5667 !important;
    box-shadow: none !important;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="submit"],
body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="submit"] {
    color: #fff !important;
    background: #765b7d !important;
}

/* If a cached bbPress wrapper itself carries a pale inline/default background,
   neutralize only the archive utility region, not the forum cards below it. */
body.bookorbit-forum-archive #bbpress-forums > :not(ul.bbp-forums):not(.bookorbit-forum-rules-gate),
body.bbp-forum-archive #bbpress-forums > :not(ul.bbp-forums):not(.bookorbit-forum-rules-gate) {
    border-color: rgba(218,202,226,.18);
}

@media (max-width: 820px) {
    body.bookorbit-forum-archive #bbpress-forums > .bbp-breadcrumb,
    body.bbp-forum-archive #bbpress-forums > .bbp-breadcrumb,
    body.bookorbit-forum-archive #bbpress-forums > .bbp-search-form,
    body.bbp-forum-archive #bbpress-forums > .bbp-search-form,
    body.bookorbit-forum-archive .mbo-forum-access,
    body.bbp-forum-archive .mbo-forum-access,
    body.bookorbit-forum-archive section[class*="forum-access"],
    body.bbp-forum-archive section[class*="forum-access"] {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* =============================================================================
   v2.4.12 FORUM RULES HOVER/FOVUS FIX — NO CREAM STATES
   =============================================================================
   The Forum Rules control was inheriting an older generic hover treatment that
   brought the cream color back. Lock every interactive state to Spines & Stars's
   smoky plum palette so hover/focus/active/visited never flashes cream.
   ============================================================================= */
body.bookorbit-forum-archive #bbpress-forums .mbo-forum-access a,
body.bookorbit-forum-archive #bbpress-forums .mbo-forum-access a:visited,
body.bookorbit-forum-archive #bbpress-forums .mbo-forum-access a:hover,
body.bookorbit-forum-archive #bbpress-forums .mbo-forum-access a:focus,
body.bookorbit-forum-archive #bbpress-forums .mbo-forum-access a:focus-visible,
body.bookorbit-forum-archive #bbpress-forums .mbo-forum-access a:active,
body.bbp-forum-archive #bbpress-forums .mbo-forum-access a,
body.bbp-forum-archive #bbpress-forums .mbo-forum-access a:visited,
body.bbp-forum-archive #bbpress-forums .mbo-forum-access a:hover,
body.bbp-forum-archive #bbpress-forums .mbo-forum-access a:focus,
body.bbp-forum-archive #bbpress-forums .mbo-forum-access a:focus-visible,
body.bbp-forum-archive #bbpress-forums .mbo-forum-access a:active,
body.bookorbit-forum-archive #bbpress-forums section[class*="forum-access"] a,
body.bookorbit-forum-archive #bbpress-forums section[class*="forum-access"] a:visited,
body.bookorbit-forum-archive #bbpress-forums section[class*="forum-access"] a:hover,
body.bookorbit-forum-archive #bbpress-forums section[class*="forum-access"] a:focus,
body.bookorbit-forum-archive #bbpress-forums section[class*="forum-access"] a:focus-visible,
body.bookorbit-forum-archive #bbpress-forums section[class*="forum-access"] a:active,
body.bbp-forum-archive #bbpress-forums section[class*="forum-access"] a,
body.bbp-forum-archive #bbpress-forums section[class*="forum-access"] a:visited,
body.bbp-forum-archive #bbpress-forums section[class*="forum-access"] a:hover,
body.bbp-forum-archive #bbpress-forums section[class*="forum-access"] a:focus,
body.bbp-forum-archive #bbpress-forums section[class*="forum-access"] a:focus-visible,
body.bbp-forum-archive #bbpress-forums section[class*="forum-access"] a:active {
    color: #f4edf7 !important;
    background: rgba(118, 91, 125, .46) !important;
    border-color: rgba(219, 201, 228, .26) !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

body.bookorbit-forum-archive #bbpress-forums .mbo-forum-access a:hover,
body.bookorbit-forum-archive #bbpress-forums .mbo-forum-access a:focus-visible,
body.bookorbit-forum-archive #bbpress-forums section[class*="forum-access"] a:hover,
body.bookorbit-forum-archive #bbpress-forums section[class*="forum-access"] a:focus-visible,
body.bbp-forum-archive #bbpress-forums .mbo-forum-access a:hover,
body.bbp-forum-archive #bbpress-forums .mbo-forum-access a:focus-visible,
body.bbp-forum-archive #bbpress-forums section[class*="forum-access"] a:hover,
body.bbp-forum-archive #bbpress-forums section[class*="forum-access"] a:focus-visible {
    color: #ffffff !important;
    background: #765b7d !important;
    border-color: #9d7ba8 !important;
    transform: translateY(-1px);
}

/* New rules-gate link states use the same palette. */
.bookorbit-rules-link,
.bookorbit-rules-link:visited,
.bookorbit-rules-link:hover,
.bookorbit-rules-link:focus,
.bookorbit-rules-link:focus-visible,
.bookorbit-rules-link:active {
    color: #f4edf7 !important;
    background: rgba(118, 91, 125, .46) !important;
    border-color: rgba(219, 201, 228, .26) !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.bookorbit-rules-link:hover,
.bookorbit-rules-link:focus-visible {
    color: #ffffff !important;
    background: #765b7d !important;
    border-color: #9d7ba8 !important;
}


/* =============================================================================
   v2.4.13 INDIVIDUAL FORUM REDESIGN — SPINES & STARS CATEGORY EXPERIENCE
   ============================================================================= */
body.bookorbit-single-forum,
body.single-forum {
    background:
        radial-gradient(circle at 12% 8%, rgba(117, 89, 129, .20), transparent 31rem),
        radial-gradient(circle at 88% 22%, rgba(89, 105, 126, .15), transparent 35rem),
        linear-gradient(180deg, #24222a 0%, #302c36 44%, #8b858f 100%);
}
body.bookorbit-single-forum .page-content,
body.single-forum .page-content {
    width: min(1460px, calc(100% - var(--bo-gutter)));
    margin: clamp(34px, 4vw, 58px) auto 78px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
body.bookorbit-single-forum .page-body,
body.single-forum .page-body { margin-top: 20px; }
.bookorbit-single-forum-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    margin: 0 0 20px;
    padding: clamp(30px, 4vw, 52px);
    color: #f8f5f9;
    background: radial-gradient(circle at 88% 20%, rgba(207, 188, 218, .15), transparent 18rem), linear-gradient(135deg, rgba(45, 39, 50, .98), rgba(29, 27, 34, .98));
    border: 1px solid rgba(231, 220, 236, .13);
    border-radius: 28px;
    box-shadow: 0 22px 54px rgba(15, 13, 18, .24);
}
.bookorbit-single-forum-hero .eyebrow { margin: 0 0 7px; color: #cdbed3; font-size: .78rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.bookorbit-single-forum-hero h1 { margin: 0; color: #fff; font-family: Georgia, serif; font-size: clamp(2.4rem, 4.8vw, 4.5rem); line-height: 1; }
.bookorbit-single-forum-hero__copy > p:last-child { max-width: 850px; margin: 14px 0 0; color: #d9d2dc; font-size: clamp(.98rem, 1.45vw, 1.1rem); line-height: 1.7; }
.bookorbit-single-forum-hero__mark { align-self: start; color: rgba(216, 199, 224, .34); font-size: clamp(2.4rem, 5vw, 4.7rem); letter-spacing: .18em; white-space: nowrap; }
body.bookorbit-single-forum #bbpress-forums,
body.single-forum #bbpress-forums { color: #eee8f0; background: transparent; }
body.bookorbit-single-forum #bbpress-forums > .bbp-breadcrumb,
body.single-forum #bbpress-forums > .bbp-breadcrumb { margin: 0; padding: 14px 18px; color: #cfc5d3; background: linear-gradient(145deg, rgba(50,45,57,.98), rgba(35,32,41,.98)); border: 1px solid rgba(218,202,226,.18); border-radius: 18px 18px 0 0; }
body.bookorbit-single-forum #bbpress-forums .bbp-breadcrumb a,
body.single-forum #bbpress-forums .bbp-breadcrumb a { color: #ded2e3; }
body.bookorbit-single-forum #bbpress-forums #subscription-toggle,
body.single-forum #bbpress-forums #subscription-toggle { float: right; margin: -44px 16px 0 0; position: relative; z-index: 2; }
body.bookorbit-single-forum #bbpress-forums #subscription-toggle a,
body.single-forum #bbpress-forums #subscription-toggle a { display: inline-flex; align-items: center; min-height: 36px; padding: 7px 14px; color: #f7f2f9 !important; background: rgba(118,91,125,.48); border: 1px solid rgba(219,201,228,.24); border-radius: 999px; font-weight: 800; text-decoration: none; }
body.bookorbit-single-forum #bbpress-forums #subscription-toggle a:hover,
body.single-forum #bbpress-forums #subscription-toggle a:hover { background: #765b7d; border-color: #9d7ba8; }
body.bookorbit-single-forum #bbpress-forums > .bbp-template-notice,
body.bookorbit-single-forum #bbpress-forums > div.bbp-template-notice,
body.single-forum #bbpress-forums > .bbp-template-notice,
body.single-forum #bbpress-forums > div.bbp-template-notice { margin: 0 0 20px; padding: 13px 18px; color: #e8e1eb; background: linear-gradient(145deg, rgba(50,45,57,.98), rgba(35,32,41,.98)); border: 1px solid rgba(218,202,226,.18); border-top: 0; border-left: 1px solid rgba(218,202,226,.18); border-radius: 0 0 18px 18px; }
body.bookorbit-single-forum #bbpress-forums > .bbp-template-notice p,
body.single-forum #bbpress-forums > .bbp-template-notice p { color: inherit; }
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body { display: grid; gap: 16px; }
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum { position: relative; margin: 0 !important; padding: 24px 26px 22px 86px !important; display: grid !important; grid-template-columns: minmax(0,1fr) auto auto minmax(150px, auto); gap: 18px; align-items: center; color: #4d4651; background: linear-gradient(145deg, #d8d0dc, #cec5d2); border: 1px solid rgba(76,59,83,.15); border-left: 5px solid #765b7d; border-radius: 20px; box-shadow: 0 14px 30px rgba(22,18,25,.13); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::before,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::before { content: "✦"; position: absolute; left: 24px; top: 50%; width: 42px; height: 42px; display: grid; place-items: center; transform: translateY(-50%); color: #fff; background: linear-gradient(145deg, #806789, #5f4a67); border-radius: 12px; box-shadow: 0 7px 16px rgba(54,42,60,.22); font-size: 1rem; }
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(2)::before,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(2)::before { content: "◇"; }
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(3)::before,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(3)::before { content: "☄"; }
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(4)::before,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(4)::before { content: "♫"; }
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:hover,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:hover { transform: translateY(-2px); border-color: rgba(118,91,125,.42); box-shadow: 0 18px 36px rgba(22,18,25,.18); }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-title,
body.single-forum #bbpress-forums .bbp-forum-title { color: #4d3853; font-size: clamp(1.22rem, 1.7vw, 1.5rem); text-decoration: none; }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-title:hover,
body.single-forum #bbpress-forums .bbp-forum-title:hover { color: #72567b; }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-content,
body.single-forum #bbpress-forums .bbp-forum-content { color: #625a66; line-height: 1.58; }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-topic-count,
body.bookorbit-single-forum #bbpress-forums .bbp-forum-reply-count,
body.bookorbit-single-forum #bbpress-forums .bbp-forum-freshness,
body.single-forum #bbpress-forums .bbp-forum-topic-count,
body.single-forum #bbpress-forums .bbp-forum-reply-count,
body.single-forum #bbpress-forums .bbp-forum-freshness { display: inline-flex; align-items: center; gap: 4px; margin: 0; padding: 6px 10px; color: #5c5260; background: rgba(247,243,249,.56); border-radius: 999px; font-size: .79rem; white-space: nowrap; }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-topic-count::before,
body.single-forum #bbpress-forums .bbp-forum-topic-count::before { content: "Topics "; color: #806b87; font-weight: 850; }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-reply-count::before,
body.single-forum #bbpress-forums .bbp-forum-reply-count::before { content: "Replies "; color: #806b87; font-weight: 850; }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-freshness::before,
body.single-forum #bbpress-forums .bbp-forum-freshness::before { content: "Latest "; color: #806b87; font-weight: 850; }
body.bookorbit-single-forum #bbpress-forums .bbp-topics,
body.single-forum #bbpress-forums .bbp-topics { margin-top: 20px; }
body.bookorbit-single-forum #bbpress-forums .bbp-topics .bbp-header,
body.bookorbit-single-forum #bbpress-forums .bbp-topics .bbp-footer,
body.single-forum #bbpress-forums .bbp-topics .bbp-header,
body.single-forum #bbpress-forums .bbp-topics .bbp-footer { color: #d9cedd; background: transparent; }
body.bookorbit-single-forum #bbpress-forums .bbp-topics .bbp-body > ul,
body.single-forum #bbpress-forums .bbp-topics .bbp-body > ul { color: #4f4753; background: linear-gradient(145deg, #d8d0dc, #cec5d2); border: 1px solid rgba(76,59,83,.15); box-shadow: 0 12px 26px rgba(22,18,25,.12); }
body.bookorbit-single-forum #bbpress-forums .bbp-topic-permalink,
body.single-forum #bbpress-forums .bbp-topic-permalink { color: #4d3853; }
body.bookorbit-single-forum #bbpress-forums .bbp-template-notice.info,
body.single-forum #bbpress-forums .bbp-template-notice.info { margin: 20px 0 0; padding: 18px 20px; color: #ddd4e1; background: rgba(42,38,47,.86); border: 1px dashed rgba(218,202,226,.25); border-radius: 16px; }
body.bookorbit-single-forum .bookorbit-discussion-toggle,
body.single-forum .bookorbit-discussion-toggle { margin: 22px 0 4px; min-height: 46px; padding: 11px 20px; color: #fff; background: linear-gradient(135deg, #806789, #654e6d); border: 1px solid rgba(232,217,239,.16); border-radius: 999px; box-shadow: 0 10px 22px rgba(28,22,31,.20); font-weight: 850; }
body.bookorbit-single-forum .bookorbit-discussion-toggle:hover,
body.single-forum .bookorbit-discussion-toggle:hover { background: #765b7d; transform: translateY(-1px); }
body.bookorbit-single-forum .bookorbit-forum-rules-gate,
body.single-forum .bookorbit-forum-rules-gate { margin: 0 0 22px; }
@media (max-width: 940px) {
    body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
    body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum { grid-template-columns: minmax(0,1fr) auto auto; }
    body.bookorbit-single-forum #bbpress-forums .bbp-forum-freshness,
    body.single-forum #bbpress-forums .bbp-forum-freshness { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 720px) {
    body.bookorbit-single-forum .page-content,
    body.single-forum .page-content { width: min(100% - 28px, 1460px); }
    .bookorbit-single-forum-hero { grid-template-columns: 1fr; padding: 30px 26px; border-radius: 22px; }
    .bookorbit-single-forum-hero__mark { display: none; }
    body.bookorbit-single-forum #bbpress-forums #subscription-toggle,
    body.single-forum #bbpress-forums #subscription-toggle { float: none; margin: 10px 0 0; }
    body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
    body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum { padding: 76px 20px 22px !important; grid-template-columns: 1fr; gap: 8px; }
    body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::before,
    body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::before { left: 20px; top: 20px; transform: none; }
    body.bookorbit-single-forum #bbpress-forums .bbp-forum-topic-count,
    body.bookorbit-single-forum #bbpress-forums .bbp-forum-reply-count,
    body.bookorbit-single-forum #bbpress-forums .bbp-forum-freshness,
    body.single-forum #bbpress-forums .bbp-forum-topic-count,
    body.single-forum #bbpress-forums .bbp-forum-reply-count,
    body.single-forum #bbpress-forums .bbp-forum-freshness { justify-self: start; }
}


/* =============================================================================
   v2.4.14 DISCUSSION + REPLY REDESIGN — SPINES & STARS CONVERSATION EXPERIENCE
   -----------------------------------------------------------------------------
   Scoped to single topic pages so the locked Forum Hub and single-forum layouts
   remain unchanged. This replaces the stock bbPress table feel with readable
   conversation cards and a Spines & Stars-styled reply composer.
   ============================================================================= */
body.bookorbit-single-topic {
    background:
        radial-gradient(circle at 18% 16%, rgba(128,103,137,.15), transparent 32%),
        radial-gradient(circle at 86% 12%, rgba(94,74,103,.13), transparent 30%),
        linear-gradient(180deg, #2c2932 0%, #35313a 54%, #3a363f 100%);
}
body.bookorbit-single-topic .page-content {
    width: min(100% - 46px, 1460px);
    max-width: 1460px;
    margin: 0 auto;
    padding: 40px 0 72px;
    background: transparent;
    border: 0;
    box-shadow: none;
}
body.bookorbit-single-topic .page-body { background: transparent; }

.bookorbit-single-topic-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 0 0 20px;
    padding: 42px 46px;
    color: #f7f2f9;
    background:
        radial-gradient(circle at 84% 20%, rgba(173,144,186,.11), transparent 29%),
        linear-gradient(145deg, rgba(48,43,54,.99), rgba(30,28,34,.99));
    border: 1px solid rgba(218,202,226,.16);
    border-radius: 26px;
    box-shadow: 0 18px 46px rgba(18,15,22,.2);
}
.bookorbit-single-topic-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(120deg, transparent 0 62%, rgba(255,255,255,.025) 62% 100%);
}
.bookorbit-single-topic-hero__copy { position: relative; z-index: 1; min-width: 0; }
.bookorbit-single-topic-hero .eyebrow {
    margin: 0 0 8px;
    color: #c9b5d0;
    letter-spacing: .18em;
    font-size: .78rem;
    font-weight: 900;
}
.bookorbit-single-topic-hero h1 {
    margin: 0;
    color: #fff;
    font-family: Georgia, serif;
    font-size: clamp(2.7rem, 5vw, 5rem);
    line-height: .98;
}
.bookorbit-single-topic-hero__copy > p:last-child {
    margin: 16px 0 0;
    color: #ddd5e1;
    font-size: 1rem;
}
.bookorbit-single-topic-hero__copy strong { color: #f2e7f6; }
.bookorbit-single-topic-hero__mark {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    color: rgba(214,195,223,.42);
    font-size: 2.2rem;
    letter-spacing: .32em;
}

/* Topic navigation + actions */
body.bookorbit-single-topic #bbpress-forums {
    color: #eee8f0;
    background: transparent;
}
body.bookorbit-single-topic #bbpress-forums > .bbp-breadcrumb {
    margin: 0;
    padding: 14px 18px;
    color: #cfc5d3;
    background: linear-gradient(145deg, rgba(50,45,57,.98), rgba(35,32,41,.98));
    border: 1px solid rgba(218,202,226,.18);
    border-radius: 18px 18px 0 0;
}
body.bookorbit-single-topic #bbpress-forums .bbp-breadcrumb a { color: #ded2e3; }
body.bookorbit-single-topic #bbpress-forums #favorite-toggle,
body.bookorbit-single-topic #bbpress-forums #subscription-toggle {
    float: right;
    position: relative;
    z-index: 3;
    margin: -44px 14px 0 0;
}
body.bookorbit-single-topic #bbpress-forums #favorite-toggle { margin-right: 118px; }
body.bookorbit-single-topic #bbpress-forums #favorite-toggle a,
body.bookorbit-single-topic #bbpress-forums #subscription-toggle a {
    display: inline-flex;
    align-items: center;
    min-height: 35px;
    padding: 7px 13px;
    color: #f7f2f9 !important;
    background: rgba(118,91,125,.48);
    border: 1px solid rgba(219,201,228,.24);
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 850;
    text-decoration: none;
}
body.bookorbit-single-topic #bbpress-forums #favorite-toggle a:hover,
body.bookorbit-single-topic #bbpress-forums #subscription-toggle a:hover { background: #765b7d; border-color: #9d7ba8; }

/* Topic summary notice */
body.bookorbit-single-topic #bbpress-forums > .bbp-template-notice,
body.bookorbit-single-topic #bbpress-forums > div.bbp-template-notice {
    margin: 0 0 20px;
    padding: 13px 18px;
    color: #e8e1eb;
    background: linear-gradient(145deg, rgba(50,45,57,.98), rgba(35,32,41,.98));
    border: 1px solid rgba(218,202,226,.18);
    border-top: 0;
    border-radius: 0 0 18px 18px;
}
body.bookorbit-single-topic #bbpress-forums > .bbp-template-notice p { color: inherit; }
body.bookorbit-single-topic #bbpress-forums > .bbp-pagination,
body.bookorbit-single-topic #bbpress-forums .bbp-pagination { margin: 16px 0; color: #d7cddd; }

/* Remove the stock table-heading feel. */
body.bookorbit-single-topic #bbpress-forums .bbp-replies > .bbp-header,
body.bookorbit-single-topic #bbpress-forums .bbp-replies > .bbp-footer { display: none !important; }
body.bookorbit-single-topic #bbpress-forums .bbp-replies,
body.bookorbit-single-topic #bbpress-forums .bbp-replies .bbp-body { margin: 0; padding: 0; border: 0; background: transparent; }

/* One cohesive conversation card per topic starter/reply. */
body.bookorbit-single-topic #bbpress-forums .bbp-replies .bbp-body > div.topic,
body.bookorbit-single-topic #bbpress-forums .bbp-replies .bbp-body > div.reply {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    margin: 18px 0 !important;
    color: #4d4651;
    background: linear-gradient(145deg, #d8d0dc, #cec5d2);
    border: 1px solid rgba(76,59,83,.17);
    border-radius: 22px;
    box-shadow: 0 16px 34px rgba(19,16,22,.16);
}
body.bookorbit-single-topic #bbpress-forums .bbp-reply-header {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 44px;
    padding: 10px 16px;
    color: #cfc5d3;
    background: linear-gradient(145deg, rgba(72,62,79,.98), rgba(52,46,58,.98));
    border: 0;
}
body.bookorbit-single-topic #bbpress-forums .bbp-reply-post-date { color: #ddd3e1; font-size: .78rem; }
body.bookorbit-single-topic #bbpress-forums .bbp-admin-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px 9px;
    color: #bdaec3;
    font-size: .7rem;
    line-height: 1.5;
}
body.bookorbit-single-topic #bbpress-forums .bbp-admin-links a {
    color: #eee2f2;
    font-weight: 800;
    text-decoration: none;
}
body.bookorbit-single-topic #bbpress-forums .bbp-admin-links a:hover { color: #fff; text-decoration: underline; }

body.bookorbit-single-topic #bbpress-forums .bbp-topic-author,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-author {
    width: auto !important;
    float: none !important;
    min-width: 0;
    padding: 26px 18px;
    color: #5d5361;
    background: rgba(242,237,244,.4);
    border: 0;
    border-right: 1px solid rgba(83,65,91,.13);
    text-align: center;
}
body.bookorbit-single-topic #bbpress-forums .bbp-topic-author .bbp-author-avatar img,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-author .bbp-author-avatar img {
    width: 96px;
    height: 96px;
    margin: 0 auto 10px;
    object-fit: cover;
    border: 3px solid rgba(255,255,255,.52);
    border-radius: 22px;
    box-shadow: 0 8px 18px rgba(43,32,48,.16);
}
body.bookorbit-single-topic #bbpress-forums .bbp-topic-author .bbp-author-name,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-author .bbp-author-name {
    display: block;
    margin: 6px 0 3px;
    color: #4d3853;
    font-size: 1.02rem;
    font-weight: 900;
}
body.bookorbit-single-topic #bbpress-forums .bbp-author-role {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 3px;
    padding: 4px 9px;
    color: #6b5572;
    background: rgba(255,255,255,.43);
    border: 1px solid rgba(102,79,111,.14);
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 850;
    font-style: normal;
}

body.bookorbit-single-topic #bbpress-forums .bbp-topic-content,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-content {
    width: auto !important;
    float: none !important;
    min-width: 0;
    min-height: 165px;
    padding: 30px 34px;
    color: #3f3942;
    font-size: 1.02rem;
    line-height: 1.76;
    background: rgba(255,255,255,.2);
}
body.bookorbit-single-topic #bbpress-forums .bbp-topic-content p,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-content p { color: inherit; }
body.bookorbit-single-topic #bbpress-forums .bbp-topic-content a,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-content a { color: #674d70; font-weight: 750; }

/* Reply composer */
body.bookorbit-single-topic #bbpress-forums .bbp-reply-form,
body.bookorbit-single-topic #bbpress-forums form#new-post { margin-top: 30px; }
body.bookorbit-single-topic #bbpress-forums fieldset.bbp-form {
    margin: 0;
    padding: 28px;
    color: #e9e1ec;
    background: linear-gradient(145deg, rgba(50,45,57,.98), rgba(35,32,41,.98));
    border: 1px solid rgba(218,202,226,.18);
    border-radius: 22px;
    box-shadow: 0 16px 36px rgba(18,15,22,.16);
}
body.bookorbit-single-topic #bbpress-forums fieldset.bbp-form legend {
    padding: 0 10px;
    color: #f3ebf5;
    font-family: Georgia, serif;
    font-size: 1.38rem;
    font-weight: 800;
}
body.bookorbit-single-topic #bbpress-forums fieldset.bbp-form label { color: #ddd3e1; font-weight: 800; }
body.bookorbit-single-topic #bbpress-forums .bbp-template-notice.info {
    margin: 12px 0 16px;
    padding: 12px 14px;
    color: #d8cddd;
    background: rgba(118,91,125,.17);
    border: 1px solid rgba(207,184,217,.17);
    border-radius: 12px;
    font-size: .8rem;
}
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper {
    overflow: hidden;
    background: #eee8f0;
    border: 1px solid rgba(207,190,215,.18);
    border-radius: 15px;
}
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper .quicktags-toolbar,
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper .wp-editor-tools,
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper .mce-toolbar-grp {
    padding: 8px 10px;
    background: #d9cfdd;
    border: 0;
    border-bottom: 1px solid rgba(85,65,94,.13);
}
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper textarea.bbp-the-content,
body.bookorbit-single-topic #bbpress-forums textarea,
body.bookorbit-single-topic #bbpress-forums input[type="text"] {
    color: #3f3942;
    background: #f3eef5;
    border: 1px solid rgba(89,68,98,.17);
    border-radius: 12px;
}
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper textarea.bbp-the-content {
    min-height: 230px;
    padding: 16px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
body.bookorbit-single-topic #bbpress-forums input[type="text"] { min-height: 44px; padding: 9px 12px; }
body.bookorbit-single-topic #bbpress-forums button[type="submit"],
body.bookorbit-single-topic #bbpress-forums input[type="submit"] {
    min-height: 44px;
    padding: 10px 18px;
    color: #fff;
    background: linear-gradient(145deg, #83678d, #6d5377);
    border: 1px solid rgba(226,208,235,.2);
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(26,20,29,.18);
    font-weight: 900;
    cursor: pointer;
}
body.bookorbit-single-topic #bbpress-forums button[type="submit"]:hover,
body.bookorbit-single-topic #bbpress-forums input[type="submit"]:hover { background: linear-gradient(145deg, #92749d, #765b81); }

@media (max-width: 900px) {
    body.bookorbit-single-topic .page-content { width: min(100% - 28px, 1460px); }
    .bookorbit-single-topic-hero { padding: 32px 28px; }
    body.bookorbit-single-topic #bbpress-forums #favorite-toggle,
    body.bookorbit-single-topic #bbpress-forums #subscription-toggle { float: none; display: inline-block; margin: 10px 6px 12px 0; }
    body.bookorbit-single-topic #bbpress-forums .bbp-replies .bbp-body > div.topic,
    body.bookorbit-single-topic #bbpress-forums .bbp-replies .bbp-body > div.reply { grid-template-columns: 150px minmax(0,1fr); }
    body.bookorbit-single-topic #bbpress-forums .bbp-topic-author .bbp-author-avatar img,
    body.bookorbit-single-topic #bbpress-forums .bbp-reply-author .bbp-author-avatar img { width: 78px; height: 78px; }
}
@media (max-width: 660px) {
    .bookorbit-single-topic-hero { align-items: flex-start; padding: 28px 22px; border-radius: 20px; }
    .bookorbit-single-topic-hero__mark { display: none; }
    .bookorbit-single-topic-hero h1 { font-size: clamp(2.25rem, 12vw, 3.5rem); }
    body.bookorbit-single-topic #bbpress-forums .bbp-replies .bbp-body > div.topic,
    body.bookorbit-single-topic #bbpress-forums .bbp-replies .bbp-body > div.reply { grid-template-columns: 1fr; }
    body.bookorbit-single-topic #bbpress-forums .bbp-topic-author,
    body.bookorbit-single-topic #bbpress-forums .bbp-reply-author {
        display: grid;
        grid-template-columns: 64px minmax(0,1fr);
        align-items: center;
        column-gap: 14px;
        padding: 18px;
        border-right: 0;
        border-bottom: 1px solid rgba(83,65,91,.13);
        text-align: left;
    }
    body.bookorbit-single-topic #bbpress-forums .bbp-topic-author .bbp-author-avatar,
    body.bookorbit-single-topic #bbpress-forums .bbp-reply-author .bbp-author-avatar { grid-row: 1 / span 4; }
    body.bookorbit-single-topic #bbpress-forums .bbp-topic-author .bbp-author-avatar img,
    body.bookorbit-single-topic #bbpress-forums .bbp-reply-author .bbp-author-avatar img { width: 64px; height: 64px; margin: 0; border-radius: 16px; }
    body.bookorbit-single-topic #bbpress-forums .bbp-topic-author .bbp-author-name,
    body.bookorbit-single-topic #bbpress-forums .bbp-reply-author .bbp-author-name { margin: 0; }
    body.bookorbit-single-topic #bbpress-forums .bbp-topic-content,
    body.bookorbit-single-topic #bbpress-forums .bbp-reply-content { min-height: 0; padding: 24px 20px; }
    body.bookorbit-single-topic #bbpress-forums .bbp-reply-header { align-items: flex-start; flex-direction: column; }
    body.bookorbit-single-topic #bbpress-forums .bbp-admin-links { justify-content: flex-start; }
    body.bookorbit-single-topic #bbpress-forums fieldset.bbp-form { padding: 22px 18px; }
}

/* =============================================================================
   v2.4.15 SIMPLE REPLY COMPOSER + MEDIA — TEXT, PICTURE, GIF
   ============================================================================= */
body.bookorbit-single-topic #bbpress-forums .bbp-reply-header { min-height: 0; padding: 0; background: transparent; }
body.bookorbit-single-topic #bbpress-forums .bbp-reply-header .bbp-reply-post-date,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-header .bbp-admin-links { display: none !important; }
body.bookorbit-single-topic #bbpress-forums .mbo-post-date {
    display: block !important; margin-top: 9px; color: #796f7d; font-size: .72rem; line-height: 1.35;
}
body.bookorbit-single-topic #bbpress-forums .mbo-post-actions {
    display: flex !important; flex-wrap: wrap; gap: 5px 10px; margin: 24px 0 0; padding-top: 14px;
    border-top: 1px solid rgba(78,61,85,.12); color: #806f86; font-size: .66rem;
}
body.bookorbit-single-topic #bbpress-forums .mbo-post-actions a { color: #725979; font-weight: 750; text-decoration: none; }
body.bookorbit-single-topic #bbpress-forums .mbo-post-actions a:hover { color: #4e3855; text-decoration: underline; }
body.bookorbit-single-topic #bbpress-forums .bbp-replies .bbp-body > div.topic,
body.bookorbit-single-topic #bbpress-forums .bbp-replies .bbp-body > div.reply {
    background: linear-gradient(145deg, #d2c9d7, #c7bdcc);
}
body.bookorbit-single-topic #bbpress-forums .bbp-topic-content,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-content { background: rgba(245,240,247,.18); }

/* Members get a deliberately simple text composer. */
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper .quicktags-toolbar,
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper .wp-editor-tools,
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper .mce-toolbar-grp { display: none !important; }
body.bookorbit-single-topic #bbpress-forums .bbp-template-notice.info { display: none !important; }
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper { background: #d8cfdd; border-color: rgba(214,194,223,.16); }
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper textarea.bbp-the-content {
    min-height: 210px; color: #332f36; background: #ded6e2; border-radius: 14px; font-size: 1rem; line-height: 1.65;
}

.mbo-forum-media { margin: 18px 0 8px; }
.mbo-forum-media__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.mbo-media-button {
    display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 9px 15px;
    color: #f8f2fa; background: rgba(118,91,125,.42); border: 1px solid rgba(221,201,230,.22);
    border-radius: 999px; font: inherit; font-size: .82rem; font-weight: 850; cursor: pointer;
}
.mbo-media-button:hover { background: #765b7d; }
.mbo-media-button--gif span { padding: 2px 5px; color: #4a354f; background: #d7c7de; border-radius: 5px; font-size: .64rem; font-weight: 950; }
.mbo-forum-media__hint { margin: 9px 0 0; color: #bfb3c4; font-size: .74rem; }
.mbo-media-preview { position: relative; width: min(100%, 520px); margin: 16px 0 4px; padding: 10px; background: rgba(18,16,21,.28); border: 1px solid rgba(218,199,226,.15); border-radius: 16px; }
.mbo-media-preview img { display: block; width: auto; max-width: 100%; max-height: 420px; margin: 0 auto; border-radius: 12px; }
.mbo-media-preview button { margin-top: 9px; padding: 7px 11px; color: #eee4f1; background: rgba(118,91,125,.35); border: 1px solid rgba(218,199,226,.18); border-radius: 999px; cursor: pointer; }
.mbo-gif-picker { margin-top: 14px; padding: 16px; background: rgba(24,21,28,.48); border: 1px solid rgba(218,199,226,.16); border-radius: 16px; }
.mbo-gif-picker__search { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; }
body.bookorbit-single-topic #bbpress-forums .mbo-gif-picker input[type="search"] { min-height: 42px; padding: 9px 12px; color: #f1eaf3; background: #332d39; border: 1px solid rgba(217,198,226,.22); border-radius: 12px; }
.mbo-gif-picker__search button { padding: 8px 15px; color: #fff; background: #765b7d; border: 0; border-radius: 999px; font-weight: 850; cursor: pointer; }
.mbo-gif-picker__status { margin: 10px 0; color: #cfc2d4; font-size: .78rem; }
.mbo-gif-picker__results { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
.mbo-gif-result { overflow: hidden; aspect-ratio: 1.35; padding: 0; background: #211e25; border: 2px solid transparent; border-radius: 10px; cursor: pointer; }
.mbo-gif-result:hover { border-color: #a987b4; }
.mbo-gif-result img { width: 100%; height: 100%; object-fit: cover; }
.mbo-gif-picker__credit { margin: 10px 0 0; color: #9f93a4; font-size: .67rem; text-align: right; }
.mbo-post-media { margin: 22px 0 0; }
.mbo-post-media img { display: block; width: auto; max-width: min(100%, 680px); max-height: 680px; border-radius: 16px; box-shadow: 0 10px 24px rgba(34,26,38,.15); }
.mbo-post-media__credit { display: inline-block; margin-top: 6px; color: #786d7c; font-size: .67rem; }
@media (max-width: 660px) {
    .mbo-gif-picker__results { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .mbo-gif-picker__search { grid-template-columns: 1fr; }
}
\n\n/* =============================================================================
   v2.4.16 GIPHY CONNECTION + COMPOSER CLEANUP
   ============================================================================= */
/* bbPress may emit the administrator-only unrestricted-HTML notice from a
   wrapper outside the editor. Keep it out of Spines & Stars's simple composer. */
body.bookorbit-single-topic #bbpress-forums form .bbp-template-notice.info,
body.bookorbit-single-topic #bbpress-forums form div.bbp-template-notice.info {
    display: none !important;
}

/* =============================================================================
   v2.4.17 FORUM RULES AGREEMENT — ACCEPT ON THE RULES PAGE
   ============================================================================= */
.bookorbit-forum-rules-gate--locked {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}
.bookorbit-forum-rules-gate__status {
    min-width: 190px;
    padding: 18px 20px;
    text-align: center;
    color: #ddd2e3;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
}
.bookorbit-forum-rules-gate__status strong,
.bookorbit-forum-rules-gate__status span { display: block; }
.bookorbit-forum-rules-gate__status strong { margin: 5px 0 2px; color: #fff; }
.bookorbit-forum-rules-gate__status span:last-child { font-size: .86rem; }
.bookorbit-forum-rules-gate__moon { font-size: 1.55rem; color: #c7abd3; }

.bookorbit-rules-agreement-card {
    max-width: 900px;
    margin: 34px auto 10px;
    padding: clamp(22px, 4vw, 34px);
    color: #eee8f1;
    background:
        radial-gradient(circle at 92% 15%, rgba(159,131,170,.18), transparent 13rem),
        linear-gradient(145deg, #312d37, #25232a);
    border: 1px solid rgba(216,200,224,.18);
    border-radius: 22px;
    box-shadow: 0 16px 38px rgba(18,16,21,.16);
}
.bookorbit-rules-agreement-card .eyebrow {
    margin: 0 0 7px;
    color: #cdbed3;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .14em;
}
.bookorbit-rules-agreement-card h2 {
    margin: 0 0 10px;
    color: #fff;
    font-family: Georgia, serif;
    font-size: clamp(1.45rem, 2.4vw, 2rem);
}
.bookorbit-rules-agreement-card p { color: #d8d0dc; }
.bookorbit-rules-agreement-form { margin-top: 20px; }
.bookorbit-rules-agreement-form label {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
    color: #f0eaf2;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 15px;
}
.bookorbit-rules-agreement-form input[type="checkbox"] {
    width: 19px;
    height: 19px;
    margin-top: 2px;
    flex: 0 0 auto;
    accent-color: #8f70a0;
}
.bookorbit-rules-agreement-form button {
    min-height: 46px;
    margin-top: 14px;
    padding: 10px 20px;
    color: #fff;
    background: #765b7d;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    font-weight: 850;
    cursor: pointer;
}
.bookorbit-rules-agreement-form button:hover,
.bookorbit-rules-agreement-form button:focus-visible,
.bookorbit-rules-link:hover,
.bookorbit-rules-link:focus-visible {
    color: #fff !important;
    background: #8a6a91 !important;
    outline: 2px solid rgba(211,185,221,.5);
    outline-offset: 2px;
}
.bookorbit-rules-agreement-card--accepted { border-color: rgba(174,145,187,.36); }
@media (max-width: 700px) {
    .bookorbit-forum-rules-gate--locked { grid-template-columns: 1fr; }
    .bookorbit-forum-rules-gate__status { min-width: 0; }
}

/* ================================================================
   SPINES & STARS MEMBER BLOCKING — v2.4.19
   Direct-contact safety controls for profiles, messages, and forums.
   ================================================================ */
.bookorbit-block-form {
    display: inline-flex;
    margin: 0;
}
.bookorbit-block-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 36px;
    padding: 7px 13px;
    border: 1px solid rgba(130, 99, 139, .28);
    border-radius: 999px;
    background: rgba(84, 64, 91, .1);
    color: #5f465f;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: transform .16s ease, background .16s ease, border-color .16s ease;
}
.bookorbit-block-button:hover,
.bookorbit-block-button:focus-visible {
    transform: translateY(-1px);
    background: rgba(112, 79, 119, .17);
    border-color: rgba(112, 79, 119, .45);
    outline: none;
}
.bookorbit-block-button.is-blocked {
    color: #f0e8f2;
    background: #6f5577;
    border-color: #6f5577;
}
.bookorbit-avatar-actions .bookorbit-block-form--profile {
    width: 100%;
}
.bookorbit-avatar-actions .bookorbit-block-form--profile .bookorbit-block-button {
    width: 100%;
}

#bbpress-forums .bookorbit-block-form--forum {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}
#bbpress-forums .bookorbit-block-form--forum .bookorbit-block-button {
    min-height: 30px;
    padding: 6px 10px;
    font-size: .7rem;
    color: #6a526c;
    background: rgba(255,255,255,.52);
    border-color: rgba(102,74,109,.16);
}
#bbpress-forums .bookorbit-block-form--forum .bookorbit-block-button.is-blocked {
    color: #fff;
    background: #755c7d;
}

.bookorbit-message-block-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 0 0 16px;
    padding: 10px 12px;
    color: #d9cedd;
    background: #28232d;
    border: 1px solid rgba(172,145,184,.2);
    border-radius: 14px;
}
.bookorbit-message-block-controls > span {
    margin-right: auto;
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.bookorbit-message-block-controls .bookorbit-block-button {
    color: #f2ebf4;
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.12);
}
.bookorbit-message-block-controls .bookorbit-block-button:hover,
.bookorbit-message-block-controls .bookorbit-block-button:focus-visible {
    background: rgba(158,123,167,.22);
    border-color: rgba(190,158,199,.36);
}
.bookorbit-message-block-controls .bookorbit-block-button.is-blocked {
    background: #7f6388;
}

@media (max-width: 700px) {
    .bookorbit-message-block-controls {
        align-items: stretch;
        flex-direction: column;
    }
    .bookorbit-message-block-controls > span { margin-right: 0; }
    .bookorbit-message-block-controls .bookorbit-block-form,
    .bookorbit-message-block-controls .bookorbit-block-button { width: 100%; }
}

/* =============================================================================
   45. v2.4.21 FIVE PROFILE COLOR THEMES — COLOR ONLY
   IMPORTANT: This section intentionally changes ONLY colors. It does not alter
   profile layout, sizing, spacing, order, cover images, avatars, or backgrounds.
   Supported Profile Color Theme labels:
   Monochrome, Midnight Celestial, Lavender Orbit, Rose Orbit, Emerald Orbit.
   ============================================================================= */
#buddypress .bookorbit-public-member-header {
    --bo-theme-shell: #2b2231;
    --bo-theme-nav: rgba(238,232,244,.96);
    --bo-theme-panel: rgba(244,240,247,.96);
    --bo-theme-card: rgba(250,248,251,.96);
    --bo-theme-card-alt: rgba(245,237,248,.96);
    --bo-theme-card-alt-2: rgba(231,216,238,.94);
    --bo-theme-stat: rgba(255,255,255,.44);
    --bo-theme-text: #2d2432;
    --bo-theme-muted: #615568;
    --bo-theme-border: rgba(108,86,116,.20);
    --bo-theme-avatar-border: rgba(247,243,249,.99);
    --bo-theme-track: #ddd4e4;
}

/* Monochrome — black, charcoal, white and cool grey. */
#buddypress .bookorbit-public-member-header.bookorbit-theme-monochrome,
#buddypress .bookorbit-public-member-header.bookorbit-theme-black-white-grey,
#buddypress .bookorbit-public-member-header.bookorbit-theme-black-white-gray {
    --bo-member-accent: #666b72;
    --bo-member-accent-strong: #292c31;
    --bo-member-accent-soft: #d7d9dc;
    --bo-member-accent-wash: rgba(55,58,63,.10);
    --bo-theme-shell: #17191c;
    --bo-theme-nav: rgba(235,236,238,.97);
    --bo-theme-panel: rgba(242,243,244,.97);
    --bo-theme-card: rgba(249,249,250,.97);
    --bo-theme-card-alt: rgba(232,233,235,.97);
    --bo-theme-card-alt-2: rgba(211,214,217,.96);
    --bo-theme-stat: rgba(255,255,255,.62);
    --bo-theme-text: #202226;
    --bo-theme-muted: #5b6067;
    --bo-theme-border: rgba(53,57,63,.20);
    --bo-theme-avatar-border: rgba(246,247,248,.99);
    --bo-theme-track: #d0d3d6;
}

/* Midnight Celestial — navy, midnight blue and cool sky-blue accents. */
#buddypress .bookorbit-public-member-header.bookorbit-theme-midnight-celestial,
#buddypress .bookorbit-public-member-header.bookorbit-theme-midnight {
    --bo-member-accent: #397fbd;
    --bo-member-accent-strong: #164d7d;
    --bo-member-accent-soft: #bcd9ef;
    --bo-member-accent-wash: rgba(57,127,189,.14);
    --bo-theme-shell: #071729;
    --bo-theme-nav: rgba(220,235,247,.97);
    --bo-theme-panel: rgba(229,239,247,.97);
    --bo-theme-card: rgba(244,249,252,.97);
    --bo-theme-card-alt: rgba(214,232,245,.97);
    --bo-theme-card-alt-2: rgba(184,213,235,.96);
    --bo-theme-stat: rgba(255,255,255,.52);
    --bo-theme-text: #10283d;
    --bo-theme-muted: #496579;
    --bo-theme-border: rgba(38,100,151,.22);
    --bo-theme-avatar-border: rgba(236,247,255,.99);
    --bo-theme-track: #c7dceb;
}

/* Lavender Orbit — Spines & Stars purple, smoky lavender and lilac. */
#buddypress .bookorbit-public-member-header.bookorbit-theme-lavender-orbit,
#buddypress .bookorbit-public-member-header.bookorbit-theme-lavender,
#buddypress .bookorbit-public-member-header.bookorbit-theme-orbit {
    --bo-member-accent: #80528f;
    --bo-member-accent-strong: #5e386c;
    --bo-member-accent-soft: #d9c5e2;
    --bo-member-accent-wash: rgba(128,82,143,.13);
    --bo-theme-shell: #2b2231;
    --bo-theme-nav: rgba(238,232,244,.97);
    --bo-theme-panel: rgba(244,240,247,.97);
    --bo-theme-card: rgba(250,248,251,.97);
    --bo-theme-card-alt: rgba(245,237,248,.97);
    --bo-theme-card-alt-2: rgba(231,216,238,.96);
    --bo-theme-stat: rgba(255,255,255,.48);
    --bo-theme-text: #2d2432;
    --bo-theme-muted: #615568;
    --bo-theme-border: rgba(108,86,116,.20);
    --bo-theme-avatar-border: rgba(247,243,249,.99);
    --bo-theme-track: #ddd4e4;
}

/* Rose Orbit — berry, dusty rose and blush. */
#buddypress .bookorbit-public-member-header.bookorbit-theme-rose-orbit,
#buddypress .bookorbit-public-member-header.bookorbit-theme-rose,
#buddypress .bookorbit-public-member-header.bookorbit-theme-pink {
    --bo-member-accent: #a55777;
    --bo-member-accent-strong: #71364f;
    --bo-member-accent-soft: #e5bdcd;
    --bo-member-accent-wash: rgba(165,87,119,.13);
    --bo-theme-shell: #351d29;
    --bo-theme-nav: rgba(247,230,237,.97);
    --bo-theme-panel: rgba(249,237,242,.97);
    --bo-theme-card: rgba(253,247,249,.97);
    --bo-theme-card-alt: rgba(247,225,234,.97);
    --bo-theme-card-alt-2: rgba(235,200,214,.96);
    --bo-theme-stat: rgba(255,255,255,.50);
    --bo-theme-text: #3a2630;
    --bo-theme-muted: #735763;
    --bo-theme-border: rgba(143,72,101,.20);
    --bo-theme-avatar-border: rgba(255,244,248,.99);
    --bo-theme-track: #ead0da;
}

/* Emerald Orbit — forest green, emerald and muted sage. */
#buddypress .bookorbit-public-member-header.bookorbit-theme-emerald-orbit,
#buddypress .bookorbit-public-member-header.bookorbit-theme-emerald,
#buddypress .bookorbit-public-member-header.bookorbit-theme-green {
    --bo-member-accent: #3d8766;
    --bo-member-accent-strong: #20583f;
    --bo-member-accent-soft: #bcd9ca;
    --bo-member-accent-wash: rgba(61,135,102,.13);
    --bo-theme-shell: #10261d;
    --bo-theme-nav: rgba(225,239,232,.97);
    --bo-theme-panel: rgba(234,244,239,.97);
    --bo-theme-card: rgba(247,251,249,.97);
    --bo-theme-card-alt: rgba(220,238,228,.97);
    --bo-theme-card-alt-2: rgba(190,220,203,.96);
    --bo-theme-stat: rgba(255,255,255,.50);
    --bo-theme-text: #183429;
    --bo-theme-muted: #506c5f;
    --bo-theme-border: rgba(47,112,82,.20);
    --bo-theme-avatar-border: rgba(239,250,244,.99);
    --bo-theme-track: #cce1d6;
}

/* Apply palette variables to the EXISTING profile structure. No geometry here. */
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] { background-color: var(--bo-theme-shell) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-member-nav { background: var(--bo-theme-nav) !important; border-color: var(--bo-theme-border) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-profile-identity-row { background: var(--bo-theme-panel) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-public-avatar img.avatar { border-color: var(--bo-theme-avatar-border) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-member-name,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-profile-card-content,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-reading-title { color: var(--bo-theme-text) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-profile-meta,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-status-update { color: var(--bo-theme-muted) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-profile-card { background: var(--bo-theme-card) !important; border-color: var(--bo-theme-border) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-profile-card-heading { color: var(--bo-member-accent-strong) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-shelf-preview { background: linear-gradient(145deg,var(--bo-theme-card-alt),var(--bo-theme-card-alt-2)) !important; border-color: var(--bo-theme-border) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-shelf-stat { background: var(--bo-theme-stat) !important; border-color: var(--bo-theme-border) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-shelf-stat strong { color: var(--bo-theme-text) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-shelf-stat span { color: var(--bo-theme-muted) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-progress-track { background: var(--bo-theme-track) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-genre-pill { color: var(--bo-member-accent-strong) !important; background: var(--bo-member-accent-wash) !important; border-color: var(--bo-member-accent-soft) !important; }
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-member-nav-link:hover,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-member-nav-link:focus-visible,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-member-nav-link.is-active { color: var(--bo-member-accent-strong) !important; background: var(--bo-member-accent-wash) !important; }

/* =============================================================================
   46. v2.4.22 ACCOUNT FOUNDATION — REGISTRATION + EMAIL VERIFICATION
   Celestial onboarding UI. This section does not alter member profile layout.
   ============================================================================= */
body.page-slug-join-bookorbit .entry-header,
body.page-slug-verify-email .entry-header { display: none; }

.bookorbit-onboarding-shell {
    width: min(100% - 32px, 860px);
    margin: 48px auto 72px;
}

.bookorbit-onboarding-card {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 5vw, 54px);
    color: #f5f1f8;
    background:
        radial-gradient(circle at 18% 10%, rgba(145,103,174,.22), transparent 30%),
        radial-gradient(circle at 84% 20%, rgba(66,98,153,.20), transparent 26%),
        linear-gradient(145deg, #171321 0%, #20182d 52%, #141822 100%);
    border: 1px solid rgba(205,183,221,.18);
    border-radius: 26px;
    box-shadow: 0 24px 70px rgba(13,10,18,.28);
}
.bookorbit-onboarding-card::before,
.bookorbit-onboarding-card::after {
    content: "✦";
    position: absolute;
    color: rgba(224,208,235,.28);
    font-size: 1.1rem;
    pointer-events: none;
}
.bookorbit-onboarding-card::before { top: 22px; right: 30px; }
.bookorbit-onboarding-card::after { bottom: 28px; left: 30px; font-size: .7rem; }
.bookorbit-onboarding-card--center { text-align: center; }
.bookorbit-onboarding-card--center .bookorbit-onboarding-intro,
.bookorbit-onboarding-card--center > p { margin-left: auto; margin-right: auto; max-width: 620px; }

.bookorbit-celestial-brand {
    display: inline-flex;
    align-items: flex-start;
    gap: 2px;
    margin-bottom: 10px;
    color: #d7c2e4;
}
.bookorbit-celestial-mark {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    color: #d9c6e5;
    font-size: 2.7rem;
    line-height: 1;
    filter: drop-shadow(0 0 16px rgba(168,128,194,.22));
}
.bookorbit-celestial-brand > span:last-child { font-size: .72rem; transform: translate(-5px, 6px); }

.bookorbit-onboarding-card .eyebrow {
    margin: 0 0 6px;
    color: #cdb4dd;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .18em;
}
.bookorbit-onboarding-card h1 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(2rem, 5vw, 3.35rem);
    line-height: 1.02;
}
.bookorbit-onboarding-intro,
.bookorbit-onboarding-card > p {
    color: #d8d0dc;
    line-height: 1.7;
}

.bookorbit-registration-form { margin-top: 30px; text-align: left; }
.bookorbit-field { margin-bottom: 20px; }
.bookorbit-field label {
    display: block;
    margin-bottom: 7px;
    color: #f7f3f9;
    font-weight: 800;
}
.bookorbit-field input {
    width: 100%;
    min-height: 50px;
    padding: 10px 14px;
    color: #f7f4f9;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(218,198,232,.20);
    border-radius: 12px;
    outline: none;
}
.bookorbit-field input:focus {
    border-color: rgba(190,147,216,.75);
    box-shadow: 0 0 0 3px rgba(151,105,177,.16);
}
.bookorbit-field small {
    display: block;
    margin-top: 7px;
    color: #aaa1b0;
    font-size: .78rem;
    line-height: 1.5;
}
.bookorbit-registration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.bookorbit-onboarding-button,
a.bookorbit-onboarding-button,
.bookorbit-onboarding-card .button.bookorbit-onboarding-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    color: #fff !important;
    font-weight: 850;
    text-decoration: none !important;
    background: linear-gradient(135deg, #7d5b91, #5f456f) !important;
    border: 1px solid rgba(225,204,237,.22) !important;
    border-radius: 999px;
    box-shadow: 0 10px 25px rgba(35,22,44,.24);
    cursor: pointer;
}
.bookorbit-registration-form > .bookorbit-onboarding-button { width: 100%; margin-top: 4px; }
.bookorbit-onboarding-button:hover,
.bookorbit-onboarding-button:focus-visible { filter: brightness(1.08); transform: translateY(-1px); }
.bookorbit-onboarding-button--secondary { background: rgba(255,255,255,.08) !important; box-shadow: none; }

.bookorbit-onboarding-alert {
    margin: 20px 0;
    padding: 14px 16px;
    color: #e9e1ed;
    text-align: left;
    background: rgba(255,255,255,.065);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
}
.bookorbit-onboarding-alert--error { background: rgba(136,48,72,.16); border-color: rgba(223,125,151,.26); }
.bookorbit-onboarding-alert--success { background: rgba(54,124,94,.18); border-color: rgba(113,202,163,.26); }
.bookorbit-onboarding-alert ul { margin: 8px 0 0 20px; }
.bookorbit-onboarding-alert li { margin: 5px 0; }
.bookorbit-resend-form { margin: 24px 0 10px; }
.bookorbit-onboarding-login,
.bookorbit-onboarding-note { margin-top: 20px; color: #aaa1b0 !important; font-size: .88rem; }
.bookorbit-onboarding-card a:not(.bookorbit-onboarding-button) { color: #d9c0e8; }

@media (max-width: 700px) {
    .bookorbit-onboarding-shell { width: min(100% - 20px, 860px); margin-top: 24px; }
    .bookorbit-onboarding-card { padding: 28px 20px; border-radius: 20px; }
    .bookorbit-registration-grid { grid-template-columns: 1fr; gap: 0; }
}

/* ================================================================
   v2.4.24 — Complete Your Profile onboarding
   Color/structure styling for first-run setup only. Public profile layout
   remains unchanged.
   ================================================================ */
.bookorbit-profile-setup-intro {
    margin: 0 0 26px;
    padding: 30px;
    text-align: center;
    background: radial-gradient(circle at 50% 0%, rgba(141,101,165,.22), transparent 42%), #201c25;
    border: 1px solid rgba(217,193,232,.18);
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(20,14,24,.18);
}
.bookorbit-profile-setup-mark { color: #d8b8e8; font-size: 2.3rem; line-height: 1; }
.bookorbit-profile-setup-intro .eyebrow { margin: 10px 0 6px; color: #caa9dc; letter-spacing: .18em; font-size: .72rem; font-weight: 900; }
.bookorbit-profile-setup-intro h1 { margin: 0 0 10px; color: #fff; font-size: clamp(1.8rem,4vw,2.7rem); }
.bookorbit-profile-setup-intro > p:not(.eyebrow):not(.bookorbit-profile-setup-privacy) { max-width: 680px; margin: 0 auto; color: #d4cbd8; }
.bookorbit-profile-setup-note { max-width: 720px; margin: 20px auto 0; padding: 13px 16px; color: #e9e1ed; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10); border-radius: 13px; }
.bookorbit-profile-setup-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 18px; }
.bookorbit-profile-setup-links a { padding: 9px 15px; color: #fff !important; font-weight: 800; text-decoration: none !important; background: #755287; border-radius: 999px; }
.bookorbit-profile-setup-privacy { margin: 16px auto 0 !important; color: #aaa1b0 !important; font-size: .78rem; }
body.buddypress .bookorbit-profile-setup-intro + .screen-heading.edit-profile-screen { margin-top: 8px; }
@media (max-width:700px){ .bookorbit-profile-setup-intro{padding:24px 18px}.bookorbit-profile-setup-links{flex-direction:column}.bookorbit-profile-setup-links a{width:100%} }


/* =============================================================================
   47. v2.4.26 — SPINES & STARS GLOBAL VISUAL + HOMEPAGE REFRESH
   -----------------------------------------------------------------------------
   Establishes the wider, smoky-celestial Spines & Stars visual language without
   changing BuddyPress profile geometry. The finished public profile layout is
   intentionally excluded from this pass.
   ============================================================================= */

/* Wider desktop canvas. Keeps comfortable gutters on laptops and mobile. */
:root {
    --bo-site-max: 1720px;
    --bo-page-max: 1580px;
}

/* Header scale: the community controls should read like primary navigation. */
.bookorbit-global-header .header-inner { min-height: 94px; gap: clamp(28px, 2.7vw, 52px); }
.bookorbit-global-header .bookorbit-wordmark-text { font-size: clamp(2rem, 2.25vw, 2.55rem); }
.bookorbit-global-header .site-nav ul { gap: clamp(22px, 1.9vw, 38px); }
.bookorbit-global-header .site-nav a { min-height: 48px; font-size: clamp(1.04rem, 1.12vw, 1.17rem); font-weight: 720; }
.bookorbit-global-header .bookorbit-header-tools { gap: 12px; }
.bookorbit-global-header .bookorbit-header-icon { width: 50px; height: 50px; }
.bookorbit-global-header .bookorbit-header-icon svg { width: 25px; height: 25px; stroke-width: 1.85; }
.bookorbit-global-header .bookorbit-header-avatar { width: 52px; height: 52px; margin-left: 7px; }

/* Homepage: use the same smoky celestial atmosphere as the community hub. */
body.home main {
    background:
        radial-gradient(circle at 88% 8%, rgba(118,83,137,.18), transparent 28%),
        radial-gradient(circle at 9% 54%, rgba(86,70,104,.12), transparent 26%),
        #211e27;
}
body.home .hero {
    min-height: 650px;
    display: flex;
    align-items: center;
    padding: clamp(88px, 8vw, 140px) 0;
    background:
        radial-gradient(circle at 80% 36%, rgba(122,87,142,.22), transparent 29%),
        radial-gradient(circle at 20% 20%, rgba(83,68,101,.13), transparent 28%),
        linear-gradient(145deg,#17151d 0%,#1d1923 55%,#211b29 100%);
    border-bottom: 1px solid rgba(225,208,235,.09);
}
body.home .hero-grid { width: 100%; grid-template-columns: minmax(0,1.02fr) minmax(480px,.98fr); gap: clamp(70px, 8vw, 150px); }
body.home .hero-copy { max-width: 850px; }
body.home .hero h1 { font-size: clamp(4.8rem, 6.6vw, 7.4rem); }
body.home .hero-copy > p:not(.eyebrow) { max-width: 820px; font-size: clamp(1.12rem,1.22vw,1.3rem); }
body.home .hero .eyebrow { color: #c6a8d4; }
body.home .hero-actions .button { min-height: 52px; padding: 13px 24px; font-size: 1.02rem; }

/* New hero brand artwork replaces the old empty orbit placeholder. */
.bookorbit-hero-brand {
    position: relative;
    min-height: 390px;
    display: grid;
    place-items: center;
    align-content: center;
    isolation: isolate;
}
.bookorbit-hero-brand::before {
    content: "";
    position: absolute;
    width: min(470px, 90%);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(132,93,151,.14), rgba(132,93,151,.035) 48%, transparent 70%);
    filter: blur(2px);
    z-index: -2;
}
.bookorbit-hero-wordmark {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    color: #f2e8f6;
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(4.4rem, 5.5vw, 6.5rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.055em;
    text-shadow: 0 10px 40px rgba(0,0,0,.22), 0 0 32px rgba(191,143,214,.12);
}
.bookorbit-hero-o {
    position: relative;
    width: .73em;
    height: .73em;
    margin: 0 .018em;
    display: inline-block;
    border: .085em solid #d8b9e6;
    border-radius: 50%;
    box-shadow: 0 0 28px rgba(203,161,224,.2);
}
.bookorbit-hero-crescent {
    position: absolute;
    width: .40em;
    height: .40em;
    top: .055em;
    left: .13em;
    border-radius: 50%;
    background: #dfc4eb;
    box-shadow: .135em -.045em 0 .018em #1d1923;
}
.bookorbit-hero-star { margin: -.58em 0 0 .12em; color: #f3dcff; font-size: .28em; }
.bookorbit-hero-celestial { position: absolute; inset: 2% 5%; z-index: 1; pointer-events: none; }
.bookorbit-hero-orbit { position: absolute; inset: 8% 4%; border: 1px solid rgba(215,196,224,.2); border-radius: 50%; transform: rotate(-10deg); }
.bookorbit-hero-orbit::after { content:""; position:absolute; top:12%; right:14%; width:10px; height:10px; background:#d9c7e2; border-radius:50%; box-shadow:0 0 18px rgba(226,204,238,.65); }
.bookorbit-hero-moon { position:absolute; left:8%; top:14%; color:#a88bb6; font-size:2.3rem; transform:rotate(-12deg); }
.bookorbit-hero-spark { position:absolute; color:#e9d8f1; }
.bookorbit-hero-spark--one { right:8%; top:27%; font-size:1.25rem; }
.bookorbit-hero-spark--two { right:17%; bottom:17%; font-size:1rem; opacity:.7; }
.bookorbit-hero-brand > p { position:relative; z-index:2; margin:22px 0 0; color:#a99fac; font-size:.76rem; font-weight:850; letter-spacing:.24em; }

/* Homepage sections now feel like rooms in the same Spines & Stars house. */
body.home .homepage-feature-section,
body.home .homepage-members-section,
body.home .community-home-section {
    background: transparent;
    border-top: 1px solid rgba(255,255,255,.055);
}
body.home .homepage-feature-section { padding-top: clamp(76px,7vw,110px); }
body.home .homepage-feature-grid { grid-template-columns: minmax(0,1.38fr) minmax(390px,.62fr); gap: clamp(38px,4vw,68px); }
body.home .section-title { color:#f4eff6; }
body.home .section-intro,
body.home .homepage-members-heading .section-intro { color:#bdb4c1; }
body.home .eyebrow { color:#b996c9; }
body.home .homepage-review-card,
body.home .homepage-member-card,
body.home .community-link-card {
    background: linear-gradient(145deg,#e6dfe9,#d9d1de);
    border-color: rgba(208,190,216,.72);
    box-shadow: 0 18px 42px rgba(8,7,11,.18);
}
body.home .homepage-review-card { min-height: 390px; }
body.home .homepage-review-cover img { min-height:390px; }
body.home .bookorbit-intro-card {
    background: linear-gradient(145deg,#302a36,#26222d);
    border-color: rgba(219,194,230,.14);
    box-shadow: 0 18px 42px rgba(8,7,11,.22);
}
body.home .homepage-member-grid { gap:28px; }
body.home .homepage-member-card { padding:34px 30px 30px; }
body.home .community-link-grid { gap:26px; }
body.home .community-link-card { min-height:210px; padding:32px; }
body.home .community-link-card:hover { background:#e8dfec; }

/* Book Reviews archive: same smoky shell, lavender cards, distinct review content. */
.reviews-index-page {
    color:#eee9f1;
    background:
        radial-gradient(circle at 86% 7%, rgba(120,86,139,.16), transparent 28%),
        linear-gradient(145deg,#211e27,#29242f 56%,#24212a);
}
.reviews-index-section { padding: clamp(72px,7vw,108px) 0; }
.reviews-index-page .section-title,
.reviews-index-page .reviews-index-heading h1 { color:#f7f3f8; }
.reviews-index-page .reviews-index-heading p { color:#c4bac8; }
.reviews-index-page .review-list { gap:30px; }
.reviews-index-page .review-list-item {
    background: linear-gradient(145deg,#e8e2eb,#dcd5e1);
    border-color: rgba(205,188,214,.72);
    box-shadow:0 18px 42px rgba(8,7,11,.18);
}

/* Standard informational/legal pages get the same atmosphere without touching BP profiles. */
body.page:not(.buddypress):not(.bbpress) main {
    padding: 1px 0;
    background:
        radial-gradient(circle at 88% 4%, rgba(120,86,139,.13), transparent 25%),
        linear-gradient(145deg,#211e27,#28242e);
}
body.page:not(.buddypress):not(.bbpress) .page-content {
    background: linear-gradient(145deg,#e7e1ea,#ddd6e2);
    box-shadow:0 20px 48px rgba(8,7,11,.20);
}

@media (max-width: 1120px) {
    body.home .hero-grid { grid-template-columns: 1fr 420px; gap:44px; }
    .bookorbit-global-header .site-nav ul { gap:16px; }
    .bookorbit-global-header .site-nav a { font-size:.98rem; }
}
@media (max-width: 900px) {
    .bookorbit-global-header .header-inner { min-height:78px; }
    body.home .hero { min-height:0; }
    body.home .hero-grid { grid-template-columns:1fr; }
    .bookorbit-hero-brand { min-height:280px; }
    .bookorbit-hero-wordmark { font-size:clamp(3.5rem,12vw,5rem); }
    body.home .homepage-feature-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
    .bookorbit-hero-brand { min-height:230px; }
    .bookorbit-hero-celestial { inset:0; }
    .bookorbit-hero-wordmark { font-size:clamp(2.9rem,15vw,4.2rem); }
    .bookorbit-hero-brand > p { font-size:.65rem; letter-spacing:.16em; }
}


/* ==========================================================================
   SPINES & STARS BRAND BASELINE
   Keeps legacy internal class names stable while the public brand transitions.
   ========================================================================== */
.spines-stars-ampersand {
    color: #c89a52;
    font-style: italic;
    padding: 0 .08em;
}
.spines-stars-hero-logo {
    display: block;
    width: min(100%, 520px);
    height: auto;
    margin: 0 auto 18px;
    border-radius: 50%;
    box-shadow: 0 24px 60px rgba(8, 14, 28, .24);
}

/* =============================================================================
   20. SPINES & STARS 2.5 BRAND + HOMEPAGE REFRESH
   =============================================================================
   The jewel-tone brand layer is deliberately scoped to the global chrome and
   homepage first. Legacy BuddyPress/bbPress screens keep their existing light
   surfaces until they are migrated section-by-section, which prevents a color
   swap from making account/forum content unreadable.
   ============================================================================= */
:root {
    --ss-midnight: #07111c;
    --ss-midnight-2: #0b1722;
    --ss-panel: #111922;
    --ss-panel-soft: #171925;
    --ss-emerald: #0b5a45;
    --ss-emerald-deep: #073d31;
    --ss-wine: #6a1830;
    --ss-wine-deep: #43101f;
    --ss-plum: #392047;
    --ss-plum-deep: #24132f;
    --ss-gold: #d7a45d;
    --ss-gold-bright: #edbf72;
    --ss-ivory: #f5efe6;
    --ss-text: #e8e1dc;
    --ss-muted: #aaa3a2;
    --ss-line: rgba(215,164,93,.28);
    --ss-line-soft: rgba(255,255,255,.09);
}

/* Global chrome. */
.site-header {
    background: rgba(6, 15, 24, .97);
    border-bottom-color: rgba(215,164,93,.17);
    box-shadow: 0 8px 30px rgba(0,0,0,.25);
}
.bookorbit-wordmark-text {
    color: var(--ss-ivory);
    text-shadow: none;
}
.spines-stars-ampersand,
.bookorbit-logo-star { color: var(--ss-gold); }
.site-nav a { color: #e6dfda; }
.site-nav a::after { background: var(--ss-gold); }
.site-nav a:hover,
.site-nav a:focus-visible { color: var(--ss-gold-bright); }
.bookorbit-header-icon { color: var(--ss-gold-bright); }
.bookorbit-header-icon:hover,
.bookorbit-header-icon:focus-visible {
    color: var(--ss-gold-bright);
    background: rgba(215,164,93,.08);
    border-color: rgba(215,164,93,.34);
}
.bookorbit-header-badge {
    background: #9f2f3f;
    border-color: var(--ss-midnight);
}
.bookorbit-header-avatar {
    border-color: rgba(215,164,93,.68);
    box-shadow: 0 0 0 3px rgba(215,164,93,.08);
}
.bookorbit-header-avatar:hover,
.bookorbit-header-avatar:focus-visible {
    border-color: var(--ss-gold-bright);
    box-shadow: 0 0 0 4px rgba(215,164,93,.12);
}
.bookorbit-header-login { color: var(--ss-ivory); }
.bookorbit-header-join {
    color: var(--ss-ivory);
    background: var(--ss-wine);
    border-color: rgba(215,164,93,.35);
}

.site-footer {
    color: var(--ss-text);
    background: #060f18;
    border-top-color: rgba(215,164,93,.16);
}
.footer-nav a { color: #cfc7c2; }
.footer-nav a:hover,
.footer-nav a:focus-visible { color: var(--ss-gold-bright); }
.footer-nav a:not(:last-child)::after { color: rgba(215,164,93,.48); }
.footer-message strong { color: var(--ss-ivory); }
.footer-message span { color: var(--ss-muted); }
.footer-message b { color: var(--ss-gold); font-weight: 500; }

/* Homepage canvas and shared homepage type. */
.spines-stars-home {
    color: var(--ss-text);
    background:
        radial-gradient(circle at 14% 10%, rgba(11,90,69,.12), transparent 28rem),
        radial-gradient(circle at 88% 34%, rgba(106,24,48,.09), transparent 30rem),
        var(--ss-midnight);
}
.spines-stars-home .section-title { color: var(--ss-ivory); }
.spines-stars-home .eyebrow,
.spines-stars-home .meta { color: var(--ss-gold); }
.spines-stars-home .section-intro { color: var(--ss-muted); }

/* Hero. */
.spines-stars-hero {
    min-height: clamp(620px, 76vh, 820px);
    padding: clamp(72px, 8vw, 118px) 0;
    background:
        radial-gradient(circle at 78% 42%, rgba(215,164,93,.09), transparent 25rem),
        radial-gradient(circle at 10% 100%, rgba(11,90,69,.16), transparent 30rem),
        linear-gradient(125deg, #07111c 0%, #08131e 58%, #050d15 100%);
}
.spines-stars-hero::before,
.spines-stars-hero::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
}
.spines-stars-hero::before {
    width: 3px;
    height: 3px;
    top: 16%;
    left: 8%;
    background: var(--ss-gold);
    box-shadow:
        8vw 14vh 0 rgba(215,164,93,.55),
        18vw -3vh 0 rgba(215,164,93,.65),
        40vw 10vh 0 rgba(215,164,93,.38),
        72vw -2vh 0 rgba(215,164,93,.6),
        82vw 18vh 0 rgba(215,164,93,.42),
        57vw 33vh 0 rgba(215,164,93,.4),
        90vw 42vh 0 rgba(215,164,93,.45);
}
.spines-stars-hero::after {
    width: 520px;
    height: 520px;
    right: -260px;
    bottom: -300px;
    border: 1px solid rgba(215,164,93,.08);
}
.hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: clamp(54px, 7vw, 110px);
}
.spines-stars-hero .eyebrow { color: var(--ss-gold-bright); }
.spines-stars-hero h1 {
    max-width: 820px;
    margin-bottom: 26px;
    color: var(--ss-ivory);
    font-size: clamp(4rem, 6.6vw, 6.7rem);
    line-height: .94;
}
.spines-stars-hero h1 em {
    color: var(--ss-gold);
    font-style: normal;
    font-weight: 400;
}
.spines-stars-hero .hero-copy > p:not(.eyebrow) {
    max-width: 720px;
    color: #ddd5cf;
}
.hero-actions { gap: 16px; margin-top: 30px; }
.spines-stars-home .button {
    min-height: 52px;
    padding: 12px 24px;
    border: 1px solid rgba(215,164,93,.45);
    box-shadow: 0 12px 28px rgba(0,0,0,.12);
}
.spines-stars-home .button span { margin-left: 6px; color: var(--ss-gold-bright); }
.button-emerald { background: var(--ss-emerald); }
.button-emerald:hover { background: #0f6c53; }
.button-wine { background: var(--ss-wine); }
.button-wine:hover { background: #7d203a; }
.button-outline-gold {
    color: var(--ss-ivory) !important;
    background: transparent !important;
    border-color: var(--ss-gold) !important;
}
.button-outline-gold:hover {
    color: var(--ss-midnight) !important;
    background: var(--ss-gold) !important;
}
.bookorbit-hero-brand {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 18px;
}
.spines-stars-hero-logo {
    width: min(560px, 100%);
    border-radius: 50%;
    filter: drop-shadow(0 22px 60px rgba(0,0,0,.32));
}
.bookorbit-hero-brand p {
    margin: 0;
    color: var(--ss-gold);
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .26em;
    text-align: center;
}
.bookorbit-hero-brand p span { margin: 0 .55em; }

/* Feature row. */
.homepage-feature-section {
    padding-top: clamp(62px, 7vw, 96px);
    background: var(--ss-midnight-2);
    border-top: 1px solid rgba(215,164,93,.08);
}
.homepage-feature-grid {
    grid-template-columns: minmax(0,1.3fr) minmax(340px,.7fr);
    gap: 28px;
}
.compact-heading { margin-bottom: 16px; }
.homepage-review-card {
    min-height: 360px;
    background:
        radial-gradient(circle at 90% 10%, rgba(106,24,48,.14), transparent 22rem),
        linear-gradient(145deg, #15151e, #111720);
    border-color: rgba(150,70,84,.62);
    box-shadow: 0 22px 55px rgba(0,0,0,.2);
}
.homepage-review-cover { background: #0b1521; }
.homepage-review-cover img { min-height: 360px; }
.homepage-review-card .post-title,
.homepage-review-card .post-title a { color: var(--ss-ivory); }
.homepage-review-card .excerpt { color: #bdb4b1; }
.homepage-review-card .rating { color: var(--ss-gold-bright); }
.homepage-review-card .rating strong { color: var(--ss-ivory); }
.homepage-review-card .read-link { color: var(--ss-gold-bright); }
.review-cover-placeholder {
    background: linear-gradient(145deg, var(--ss-wine), var(--ss-plum-deep));
}
.bookorbit-intro-card {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 110% 60%, rgba(215,164,93,.11), transparent 22rem),
        linear-gradient(145deg, #073d31, #071d1f 68%);
    border-color: rgba(215,164,93,.42);
    box-shadow: 0 22px 55px rgba(0,0,0,.2);
}
.bookorbit-intro-card::after {
    content: "✦";
    position: absolute;
    right: 28px;
    top: 22px;
    color: rgba(215,164,93,.55);
    font-size: 1.25rem;
}
.bookorbit-intro-card .section-title {
    color: var(--ss-ivory);
    font-size: clamp(2.5rem, 3.2vw, 3.55rem);
}
.bookorbit-intro-card p { color: #c8c0b9; }
.bookorbit-intro-card .intro-lead { color: var(--ss-ivory); }

/* Explore the community. */
.community-home-section {
    background:
        radial-gradient(circle at 70% 100%, rgba(57,32,71,.14), transparent 28rem),
        var(--ss-midnight);
}
.community-link-grid { gap: 18px; }
.community-link-card {
    min-height: 230px;
    padding: 28px;
    color: var(--ss-text);
    border: 1px solid var(--ss-line-soft);
    box-shadow: 0 16px 40px rgba(0,0,0,.16);
}
.community-link-card:hover { transform: translateY(-4px); border-color: var(--ss-gold); }
.community-card-forums { background: linear-gradient(145deg, #571428, #32101b); }
.community-card-members { background: linear-gradient(145deg, #074b3a, #062d28); }
.community-card-reviews { background: linear-gradient(145deg, #352042, #211428); }
.community-card-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: var(--ss-gold-bright);
    background: rgba(215,164,93,.07);
    border: 1px solid rgba(215,164,93,.24);
    border-radius: 14px;
}
.community-card-icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.community-link-card strong {
    margin-top: 6px;
    color: var(--ss-ivory);
    font-size: 1.55rem;
}
.community-link-card > span:not(.community-card-icon) { color: #c2b9b6; }
.community-link-card b {
    margin-top: 10px;
    color: var(--ss-gold-bright);
    font-size: .9rem;
}

/* Recently active members. */
.homepage-members-section {
    padding-top: clamp(42px, 5vw, 70px);
    background: #060f18;
    border-top: 1px solid rgba(215,164,93,.08);
}
.homepage-members-heading { align-items: center; margin-bottom: 28px; }
.homepage-members-all {
    color: var(--ss-gold-bright);
    font-size: .92rem;
    font-weight: 750;
}
.homepage-members-all:hover { color: var(--ss-ivory); }
.homepage-member-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 26px;
}
.homepage-member-card {
    width: 104px;
    padding: 0;
    color: var(--ss-text);
    text-align: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.homepage-member-avatar { display: inline-flex; }
.homepage-member-avatar img {
    width: 82px;
    height: 82px;
    border: 2px solid rgba(215,164,93,.72);
    box-shadow: 0 0 0 4px rgba(215,164,93,.05), 0 10px 24px rgba(0,0,0,.22);
}
.homepage-member-card h3 {
    margin: 9px 0 0;
    font-family: inherit;
    font-size: .82rem;
    font-weight: 650;
    line-height: 1.25;
}
.homepage-member-card h3 a { color: #ddd5cf; }
.homepage-member-card h3 a:hover { color: var(--ss-gold-bright); }
.spines-stars-home .empty-state {
    color: var(--ss-muted);
    background: rgba(255,255,255,.025);
    border-color: rgba(215,164,93,.3);
}

@media (max-width: 1050px) {
    .spines-stars-hero { min-height: auto; }
    .hero-grid { grid-template-columns: 1fr; text-align: center; }
    .hero-copy > p:not(.eyebrow) { margin-inline: auto; }
    .hero-actions { justify-content: center; }
    .bookorbit-hero-brand { max-width: 540px; margin-inline: auto; }
    .homepage-feature-grid { grid-template-columns: 1fr; }
    .bookorbit-intro-card { min-height: 0; }
}
@media (max-width: 760px) {
    .spines-stars-hero h1 { font-size: clamp(3.2rem, 15vw, 4.7rem); }
    .spines-stars-hero h1 br { display: none; }
    .spines-stars-home .button { width: 100%; }
    .community-link-grid { grid-template-columns: 1fr; }
    .homepage-review-card { grid-template-columns: 1fr; }
    .homepage-review-cover img { max-height: 440px; min-height: 0; object-fit: contain; background: #0b1521; }
    .homepage-members-heading { align-items: flex-start; flex-direction: column; }
    .homepage-member-grid { gap: 18px; }
    .homepage-member-card { width: 88px; }
    .homepage-member-avatar img { width: 72px; height: 72px; }
}


/* =============================================================================
   21. SPINES & STARS 2.5.1 — APPROVED DESKTOP PROPORTIONS + JEWEL CARD FIX
   -----------------------------------------------------------------------------
   This layer intentionally carries body.home specificity so it wins over the
   older v2.4.26 homepage prototype rules that still used pale lavender cards.
   It also gives the header and hero the roomier proportions approved in the
   September 13 visual review.
   ============================================================================= */

/* Wider, taller desktop header with larger member controls. */
@media (min-width: 1051px) {
    .bookorbit-global-header .header-inner {
        width: min(1760px, calc(100% - clamp(72px, 8vw, 138px)));
        min-height: 110px;
        gap: clamp(32px, 3vw, 58px);
    }
    .bookorbit-global-header .bookorbit-wordmark-text {
        font-size: clamp(2.25rem, 2.5vw, 2.9rem);
    }
    .bookorbit-global-header .site-nav ul {
        gap: clamp(24px, 2.15vw, 42px);
    }
    .bookorbit-global-header .site-nav a {
        min-height: 56px;
        font-size: clamp(1.10rem, 1.18vw, 1.28rem);
        font-weight: 720;
    }
    .bookorbit-global-header .bookorbit-header-tools { gap: 15px; }
    .bookorbit-global-header .bookorbit-header-icon {
        width: 56px;
        height: 56px;
    }
    .bookorbit-global-header .bookorbit-header-icon svg {
        width: 29px;
        height: 29px;
        stroke-width: 1.8;
    }
    .bookorbit-global-header .bookorbit-header-avatar {
        width: 58px;
        height: 58px;
        margin-left: 8px;
    }
}

/* Give the hero copy a deliberate left margin instead of letting it hug the viewport. */
@media (min-width: 1051px) {
    body.home .spines-stars-hero > .wrap,
    body.home .homepage-feature-section > .wrap,
    body.home .community-home-section > .wrap,
    body.home .homepage-members-section > .wrap {
        width: min(1660px, calc(100% - clamp(96px, 10vw, 168px)));
    }

    body.home .spines-stars-hero {
        min-height: clamp(650px, 76vh, 840px);
        padding: clamp(82px, 7.5vw, 124px) 0;
    }
    body.home .spines-stars-hero .hero-grid {
        grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr);
        gap: clamp(70px, 7vw, 126px);
        align-items: center;
    }
    body.home .spines-stars-hero .hero-copy {
        max-width: 900px;
    }
    body.home .spines-stars-hero h1 {
        max-width: 860px;
        font-size: clamp(4.4rem, 6.15vw, 6.8rem);
    }
    body.home .spines-stars-hero .hero-copy > p:not(.eyebrow) {
        max-width: 760px;
        font-size: clamp(1.12rem, 1.18vw, 1.28rem);
    }
    body.home .bookorbit-hero-brand { min-height: 430px; }
    body.home .spines-stars-hero-logo { width: min(570px, 100%); }
}

/* Keep celestial decoration restrained: logo is the hero artwork. */
body.home .spines-stars-hero::before {
    opacity: .72;
}
body.home .spines-stars-hero::after {
    opacity: .45;
}

/* Replace the old pale v2.4.26 surfaces with the approved jewel-tone system. */
body.home .homepage-review-card {
    min-height: 390px;
    color: var(--ss-text);
    background:
        radial-gradient(circle at 92% 8%, rgba(106,24,48,.18), transparent 22rem),
        linear-gradient(145deg, #19141d 0%, #151720 55%, #111922 100%);
    border-color: rgba(143,54,72,.72);
    box-shadow: 0 22px 55px rgba(0,0,0,.24);
}
body.home .homepage-review-card .card-body { background: transparent; }
body.home .homepage-review-card .post-title,
body.home .homepage-review-card .post-title a { color: var(--ss-ivory); }
body.home .homepage-review-card .excerpt,
body.home .homepage-review-card .excerpt p { color: #c7bfba; }
body.home .homepage-review-card .meta { color: var(--ss-gold); }
body.home .homepage-review-card .rating { color: var(--ss-gold-bright); }
body.home .homepage-review-card .rating strong { color: var(--ss-ivory); }
body.home .homepage-review-card .read-link { color: var(--ss-gold-bright); }

body.home .community-link-card {
    min-height: 220px;
    padding: 30px;
    color: var(--ss-text);
    border: 1px solid rgba(215,164,93,.18);
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
}
body.home .community-card-forums {
    background: linear-gradient(145deg, #63172f 0%, #3c101f 62%, #29101a 100%);
}
body.home .community-card-members {
    background: linear-gradient(145deg, #075c45 0%, #064233 58%, #062d28 100%);
}
body.home .community-card-reviews {
    background: linear-gradient(145deg, #432451 0%, #311b3d 58%, #211428 100%);
}
body.home .community-link-card:hover {
    background-color: transparent;
    border-color: var(--ss-gold);
    transform: translateY(-4px);
}
body.home .community-card-forums:hover {
    background: linear-gradient(145deg, #711a36 0%, #461225 62%, #30111d 100%);
}
body.home .community-card-members:hover {
    background: linear-gradient(145deg, #08684e 0%, #074b3a 58%, #07342d 100%);
}
body.home .community-card-reviews:hover {
    background: linear-gradient(145deg, #4e295e 0%, #382046 58%, #281832 100%);
}
body.home .community-link-card strong { color: var(--ss-ivory); }
body.home .community-link-card > span:not(.community-card-icon) { color: #c7bfba; }
body.home .community-link-card b { color: var(--ss-gold-bright); }

/* Recently active members are avatars, not cards. */
body.home .homepage-member-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: clamp(20px, 2.1vw, 34px);
}
body.home .homepage-member-card {
    width: 104px;
    min-width: 104px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
body.home .homepage-member-avatar {
    display: inline-flex;
    width: 88px;
    height: 88px;
    overflow: hidden;
    border-radius: 50%;
}
body.home .homepage-member-avatar img,
body.home .homepage-member-avatar img.avatar {
    width: 88px !important;
    height: 88px !important;
    max-width: none;
    display: block;
    object-fit: cover;
    border: 2px solid rgba(215,164,93,.78);
    border-radius: 50% !important;
    box-shadow: 0 0 0 4px rgba(215,164,93,.06), 0 10px 24px rgba(0,0,0,.24);
}
body.home .homepage-member-card h3 {
    margin: 10px 0 0;
    font-family: inherit;
    font-size: .86rem;
    font-weight: 650;
    line-height: 1.25;
}
body.home .homepage-member-card h3 a { color: #ddd5cf; }
body.home .homepage-member-card h3 a:hover { color: var(--ss-gold-bright); }

/* Preserve roominess without over-padding smaller laptops. */
@media (max-width: 1280px) and (min-width: 1051px) {
    .bookorbit-global-header .header-inner {
        width: calc(100% - 64px);
        gap: 24px;
    }
    .bookorbit-global-header .bookorbit-wordmark-text { font-size: 2.12rem; }
    .bookorbit-global-header .site-nav ul { gap: 20px; }
    .bookorbit-global-header .site-nav a { font-size: 1rem; }
    .bookorbit-global-header .bookorbit-header-icon { width: 48px; height: 48px; }
    .bookorbit-global-header .bookorbit-header-icon svg { width: 24px; height: 24px; }
    .bookorbit-global-header .bookorbit-header-avatar { width: 50px; height: 50px; }
}

@media (max-width: 760px) {
    body.home .homepage-member-card { width: 84px; min-width: 84px; }
    body.home .homepage-member-avatar,
    body.home .homepage-member-avatar img,
    body.home .homepage-member-avatar img.avatar {
        width: 72px !important;
        height: 72px !important;
    }
}


/* =============================================================================
   53. SPINES & STARS 2.6.0 — DARK MEMBER PROFILE THEMES
   Emerald · Plum · Wine · Midnight · Monochrome
   Gold is the shared brand accent across every member theme.
   Legacy Lavender/Rose choices remain supported as Plum/Wine aliases so
   existing profiles do not break while the BuddyPress options are updated.
   ============================================================================= */

/* Dark Midnight is the safe default for any profile with no theme selected. */
#buddypress .bookorbit-public-member-header {
    --bo-member-accent: #c99a54;
    --bo-member-accent-strong: #e4b867;
    --bo-member-accent-soft: rgba(228,184,103,.46);
    --bo-member-accent-wash: rgba(228,184,103,.10);
    --bo-theme-shell: #07111c;
    --bo-theme-nav: rgba(8,19,31,.98);
    --bo-theme-panel: rgba(10,25,39,.96);
    --bo-theme-card: rgba(11,27,42,.97);
    --bo-theme-card-alt: rgba(12,35,55,.97);
    --bo-theme-card-alt-2: rgba(16,45,69,.96);
    --bo-theme-stat: rgba(255,255,255,.045);
    --bo-theme-text: #f5efe7;
    --bo-theme-muted: #b9b0a9;
    --bo-theme-border: rgba(210,164,91,.24);
    --bo-theme-avatar-border: #cfa45f;
    --bo-theme-track: rgba(255,255,255,.12);
}

/* EMERALD — forest green / near-black. */
#buddypress .bookorbit-public-member-header.bookorbit-theme-emerald,
#buddypress .bookorbit-public-member-header.bookorbit-theme-emerald-orbit,
#buddypress .bookorbit-public-member-header.bookorbit-theme-green {
    --bo-member-accent: #c99a54;
    --bo-member-accent-strong: #e4b867;
    --bo-member-accent-soft: rgba(228,184,103,.46);
    --bo-member-accent-wash: rgba(228,184,103,.10);
    --bo-theme-shell: #041712;
    --bo-theme-nav: rgba(4,24,18,.98);
    --bo-theme-panel: rgba(5,39,29,.96);
    --bo-theme-card: rgba(5,47,35,.94);
    --bo-theme-card-alt: rgba(6,57,43,.96);
    --bo-theme-card-alt-2: rgba(8,75,56,.94);
    --bo-theme-stat: rgba(255,255,255,.045);
    --bo-theme-text: #f4f0e9;
    --bo-theme-muted: #b9c7bf;
    --bo-theme-border: rgba(41,148,110,.38);
    --bo-theme-avatar-border: #d2a75f;
    --bo-theme-track: rgba(214,236,225,.14);
}

/* PLUM — deep aubergine / blackberry. Legacy Lavender aliases map here. */
#buddypress .bookorbit-public-member-header.bookorbit-theme-plum,
#buddypress .bookorbit-public-member-header.bookorbit-theme-deep-plum,
#buddypress .bookorbit-public-member-header.bookorbit-theme-lavender-orbit,
#buddypress .bookorbit-public-member-header.bookorbit-theme-lavender,
#buddypress .bookorbit-public-member-header.bookorbit-theme-orbit {
    --bo-member-accent: #c99a54;
    --bo-member-accent-strong: #e4b867;
    --bo-member-accent-soft: rgba(228,184,103,.46);
    --bo-member-accent-wash: rgba(228,184,103,.10);
    --bo-theme-shell: #160b1c;
    --bo-theme-nav: rgba(24,10,31,.98);
    --bo-theme-panel: rgba(37,14,47,.96);
    --bo-theme-card: rgba(45,17,57,.94);
    --bo-theme-card-alt: rgba(56,20,70,.96);
    --bo-theme-card-alt-2: rgba(75,28,91,.94);
    --bo-theme-stat: rgba(255,255,255,.05);
    --bo-theme-text: #f6eff5;
    --bo-theme-muted: #c7b7c7;
    --bo-theme-border: rgba(145,71,166,.36);
    --bo-theme-avatar-border: #d2a75f;
    --bo-theme-track: rgba(239,218,243,.14);
}

/* WINE — burgundy / oxblood. Legacy Rose aliases map here. */
#buddypress .bookorbit-public-member-header.bookorbit-theme-wine,
#buddypress .bookorbit-public-member-header.bookorbit-theme-wine-red,
#buddypress .bookorbit-public-member-header.bookorbit-theme-burgundy,
#buddypress .bookorbit-public-member-header.bookorbit-theme-rose-orbit,
#buddypress .bookorbit-public-member-header.bookorbit-theme-rose,
#buddypress .bookorbit-public-member-header.bookorbit-theme-pink {
    --bo-member-accent: #c99a54;
    --bo-member-accent-strong: #e4b867;
    --bo-member-accent-soft: rgba(228,184,103,.46);
    --bo-member-accent-wash: rgba(228,184,103,.10);
    --bo-theme-shell: #19080e;
    --bo-theme-nav: rgba(29,8,15,.98);
    --bo-theme-panel: rgba(55,11,25,.96);
    --bo-theme-card: rgba(68,13,31,.94);
    --bo-theme-card-alt: rgba(82,15,37,.96);
    --bo-theme-card-alt-2: rgba(105,21,47,.94);
    --bo-theme-stat: rgba(255,255,255,.05);
    --bo-theme-text: #f7efef;
    --bo-theme-muted: #cdb8bc;
    --bo-theme-border: rgba(165,55,82,.38);
    --bo-theme-avatar-border: #d2a75f;
    --bo-theme-track: rgba(244,218,222,.14);
}

/* MIDNIGHT — navy / blue-black. */
#buddypress .bookorbit-public-member-header.bookorbit-theme-midnight,
#buddypress .bookorbit-public-member-header.bookorbit-theme-midnight-celestial,
#buddypress .bookorbit-public-member-header.bookorbit-theme-navy {
    --bo-member-accent: #c99a54;
    --bo-member-accent-strong: #e4b867;
    --bo-member-accent-soft: rgba(228,184,103,.46);
    --bo-member-accent-wash: rgba(228,184,103,.10);
    --bo-theme-shell: #050d17;
    --bo-theme-nav: rgba(6,17,29,.98);
    --bo-theme-panel: rgba(8,29,48,.96);
    --bo-theme-card: rgba(8,35,57,.94);
    --bo-theme-card-alt: rgba(10,44,70,.96);
    --bo-theme-card-alt-2: rgba(13,58,91,.94);
    --bo-theme-stat: rgba(255,255,255,.045);
    --bo-theme-text: #f3f1ed;
    --bo-theme-muted: #b4c0ca;
    --bo-theme-border: rgba(54,111,159,.38);
    --bo-theme-avatar-border: #d2a75f;
    --bo-theme-track: rgba(221,234,245,.14);
}

/* MONOCHROME — black / charcoal / slate. */
#buddypress .bookorbit-public-member-header.bookorbit-theme-monochrome,
#buddypress .bookorbit-public-member-header.bookorbit-theme-black-grey,
#buddypress .bookorbit-public-member-header.bookorbit-theme-black-and-grey,
#buddypress .bookorbit-public-member-header.bookorbit-theme-black-gray,
#buddypress .bookorbit-public-member-header.bookorbit-theme-black-and-gray,
#buddypress .bookorbit-public-member-header.bookorbit-theme-black-white-grey,
#buddypress .bookorbit-public-member-header.bookorbit-theme-black-white-gray {
    --bo-member-accent: #c99a54;
    --bo-member-accent-strong: #e4b867;
    --bo-member-accent-soft: rgba(228,184,103,.46);
    --bo-member-accent-wash: rgba(228,184,103,.09);
    --bo-theme-shell: #0b0c0e;
    --bo-theme-nav: rgba(13,15,18,.98);
    --bo-theme-panel: rgba(20,22,25,.97);
    --bo-theme-card: rgba(24,27,31,.96);
    --bo-theme-card-alt: rgba(31,34,39,.97);
    --bo-theme-card-alt-2: rgba(43,47,53,.96);
    --bo-theme-stat: rgba(255,255,255,.045);
    --bo-theme-text: #f2f1ed;
    --bo-theme-muted: #b4b6ba;
    --bo-theme-border: rgba(158,163,171,.24);
    --bo-theme-avatar-border: #cfa45f;
    --bo-theme-track: rgba(255,255,255,.13);
}

/* Core dark-profile treatment. Geometry stays compatible with BuddyPress. */
#buddypress .bookorbit-public-member-header,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] {
    padding: 0 0 30px;
    color: var(--bo-theme-text) !important;
    background:
        radial-gradient(circle at 86% 7%, rgba(207,164,95,.10), transparent 18%),
        radial-gradient(circle at 12% 38%, var(--bo-member-accent-wash), transparent 24%),
        var(--bo-theme-shell) !important;
    border: 1px solid var(--bo-theme-border);
    border-radius: 24px;
    box-shadow: 0 26px 70px rgba(0,0,0,.25);
}

#buddypress .bookorbit-public-member-header .bookorbit-member-nav,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-member-nav {
    padding: 9px 12px !important;
    background: var(--bo-theme-nav) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bo-theme-border) !important;
    border-radius: 23px 23px 0 0 !important;
}

#buddypress .bookorbit-public-member-header .bookorbit-member-nav-link {
    color: var(--bo-theme-muted) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-member-nav-link:hover,
#buddypress .bookorbit-public-member-header .bookorbit-member-nav-link:focus-visible,
#buddypress .bookorbit-public-member-header .bookorbit-member-nav-link.is-active {
    color: #f7ead1 !important;
    background: var(--bo-member-accent-wash) !important;
}

#buddypress .bookorbit-public-member-header .bookorbit-cover-top {
    margin: 0 !important;
    border-radius: 0 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-cover-top #header-cover-image {
    height: clamp(210px, 20vw, 315px) !important;
    min-height: 210px !important;
    border-radius: 0 !important;
    filter: saturate(.82) brightness(.72) contrast(1.04);
}

#buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-profile-identity-row {
    margin: 0 !important;
    padding: 34px clamp(24px,4vw,58px) 28px !important;
    background:
        linear-gradient(115deg, var(--bo-theme-panel), rgba(4,8,13,.84)) !important;
    border-top: 1px solid var(--bo-theme-border);
    border-bottom: 1px solid var(--bo-theme-border);
}

#buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-public-avatar img.avatar {
    background: #0a0c0f !important;
    border: 4px solid var(--bo-theme-avatar-border) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 7px rgba(0,0,0,.30), 0 18px 38px rgba(0,0,0,.38) !important;
}

#buddypress .bookorbit-public-member-header .bookorbit-member-name,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-member-name {
    color: var(--bo-theme-text) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-pronouns {
    color: var(--bo-member-accent-strong) !important;
    font-family: Georgia, serif;
    font-style: italic;
    font-size: 1rem;
}
#buddypress .bookorbit-public-member-header .bookorbit-member-demographics,
#buddypress .bookorbit-public-member-header .bookorbit-profile-meta,
#buddypress .bookorbit-public-member-header .bookorbit-status-update,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-profile-meta,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-status-update {
    color: var(--bo-theme-muted) !important;
}

#buddypress .bookorbit-public-member-header .bookorbit-profile-actions a,
#buddypress .bookorbit-public-member-header .bookorbit-profile-actions button {
    color: #f8f1e6 !important;
    background: rgba(0,0,0,.22) !important;
    border: 1px solid var(--bo-member-accent-strong) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-actions a:hover,
#buddypress .bookorbit-public-member-header .bookorbit-profile-actions button:hover {
    color: #07111c !important;
    background: var(--bo-member-accent-strong) !important;
}

#buddypress .bookorbit-public-member-header .bookorbit-shelf-preview,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-shelf-preview {
    color: var(--bo-theme-text) !important;
    background: linear-gradient(145deg,var(--bo-theme-card-alt),var(--bo-theme-card-alt-2)) !important;
    border: 1px solid var(--bo-theme-border) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.035);
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-preview-heading,
#buddypress .bookorbit-public-member-header .bookorbit-shelf-preview-icon,
#buddypress .bookorbit-public-member-header .bookorbit-shelf-link {
    color: var(--bo-member-accent-strong) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-stat,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-shelf-stat {
    background: var(--bo-theme-stat) !important;
    border-color: var(--bo-theme-border) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-stat strong,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-shelf-stat strong {
    color: var(--bo-theme-text) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-stat span,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-shelf-stat span {
    color: var(--bo-theme-muted) !important;
}

#buddypress .bookorbit-public-member-header .bookorbit-profile-content-grid {
    grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr);
    gap: 22px;
    margin-top: 28px !important;
    padding: 0 clamp(24px,4vw,58px) 4px !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-left,
#buddypress .bookorbit-public-member-header .bookorbit-profile-right {
    display: grid;
    gap: 18px;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-card,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-profile-card {
    padding: 22px 23px;
    color: var(--bo-theme-text) !important;
    background:
        linear-gradient(150deg, rgba(255,255,255,.018), transparent 54%),
        var(--bo-theme-card) !important;
    border: 1px solid var(--bo-theme-border) !important;
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(0,0,0,.13) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-current-reading-card {
    border-top: 1px solid var(--bo-theme-border) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-card-heading,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-profile-card-heading {
    color: var(--bo-member-accent-strong) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-profile-card-content,
#buddypress .bookorbit-public-member-header .bookorbit-reading-title,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-profile-card-content,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-reading-title {
    color: var(--bo-theme-text) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-reading-details,
#buddypress .bookorbit-public-member-header .bookorbit-progress-row,
#buddypress .bookorbit-public-member-header .bookorbit-favorite-book-details {
    color: var(--bo-theme-muted) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-reading-cover,
#buddypress .bookorbit-public-member-header .bookorbit-favorite-cover {
    border: 1px solid var(--bo-theme-border);
    box-shadow: 0 10px 26px rgba(0,0,0,.30);
}
#buddypress .bookorbit-public-member-header .bookorbit-progress-track,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-progress-track {
    background: var(--bo-theme-track) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-progress-track span {
    background: linear-gradient(90deg,var(--bo-member-accent-strong),#f0d18f) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-author-link,
#buddypress .bookorbit-public-member-header .bookorbit-shelf-link {
    color: var(--bo-member-accent-strong) !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-genre-pill,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-genre-pill {
    color: #f6eee2 !important;
    background: rgba(0,0,0,.18) !important;
    border: 1px solid var(--bo-member-accent-soft) !important;
}

/* Tiny celestial accents, deliberately sparse. */
#buddypress .bookorbit-public-member-header::before,
#buddypress .bookorbit-public-member-header::after {
    position: absolute;
    z-index: 0;
    color: var(--bo-member-accent-strong);
    pointer-events: none;
    opacity: .55;
}
#buddypress .bookorbit-public-member-header { position: relative !important; }
#buddypress .bookorbit-public-member-header::before {
    content: "✦";
    top: 78px;
    right: 5%;
    font-size: 1.05rem;
}
#buddypress .bookorbit-public-member-header::after {
    content: "·  ✧  ·";
    bottom: 22px;
    right: 5%;
    font-size: .82rem;
    letter-spacing: .3em;
}
#buddypress .bookorbit-public-member-header > * { position: relative; z-index: 1; }

@media (max-width: 760px) {
    #buddypress .bookorbit-public-member-header { border-radius: 18px; }
    #buddypress .bookorbit-public-member-header .bookorbit-member-nav { border-radius: 17px 17px 0 0 !important; }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-identity-row {
        padding: 26px 20px 24px !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-public-avatar img.avatar {
        border-radius: 50% !important;
    }
    #buddypress .bookorbit-public-member-header .bookorbit-profile-content-grid {
        grid-template-columns: 1fr;
        padding: 0 20px 2px !important;
    }
}


/* =============================================================================
   54. SPINES & STARS 2.6.1 — MEMBER AREA POLISH
   Removes the remaining pale lavender account shell, makes BuddyPress account
   screens match the dark Spines & Stars interface, and improves gold-button
   contrast on the public profile.
   ============================================================================= */

/* Public profile should sit on the same dark canvas as the rest of the site. */
body.bookorbit-member-area,
body.bookorbit-member-area .site-main,
body.bookorbit-member-area main,
body.bookorbit-member-area .page-content,
body.bookorbit-member-area .page-body,
body.bookorbit-member-area #buddypress,
body.bookorbit-member-area #buddypress .bp-wrap {
    background-color: #080d13 !important;
}

body.bookorbit-member-area .page-content {
    border-color: rgba(210,164,91,.14) !important;
    box-shadow: none !important;
}

/* Gold shelf button keeps ivory text for readable contrast. */
#buddypress .bookorbit-public-member-header .bookorbit-shelf-link,
#buddypress .bookorbit-public-member-header[class*="bookorbit-theme-"] .bookorbit-shelf-link {
    color: #f8f1e6 !important;
}
#buddypress .bookorbit-public-member-header .bookorbit-shelf-link:hover,
#buddypress .bookorbit-public-member-header .bookorbit-shelf-link:focus-visible {
    color: #ffffff !important;
}

/* Compact BuddyPress account pages: Settings, Edit Profile, Notifications, Shelf. */
body.bookorbit-member-compact {
    --bo-account-bg: #080d13;
    --bo-account-nav: #0b131d;
    --bo-account-panel: #101821;
    --bo-account-panel-2: #141d27;
    --bo-account-input: #0b1118;
    --bo-account-border: rgba(210,164,91,.24);
    --bo-account-border-soft: rgba(255,255,255,.10);
    --bo-account-gold: #e1b35f;
    --bo-account-gold-dark: #b9873f;
    --bo-account-ivory: #f7f0e8;
    --bo-account-muted: #b9b3ad;
}

body.bookorbit-member-compact .page-content,
body.bookorbit-member-compact #buddypress,
body.bookorbit-member-compact #buddypress .bp-wrap {
    color: var(--bo-account-ivory) !important;
    background: var(--bo-account-bg) !important;
}

body.bookorbit-member-compact #buddypress #item-nav,
body.bookorbit-member-compact #buddypress #item-nav ul {
    background: var(--bo-account-nav) !important;
    border-color: var(--bo-account-border) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.025) !important;
}

body.bookorbit-member-compact #buddypress #item-nav li a {
    color: #d4cec8 !important;
    background: transparent !important;
}
body.bookorbit-member-compact #buddypress #item-nav li.current a,
body.bookorbit-member-compact #buddypress #item-nav li.selected a,
body.bookorbit-member-compact #buddypress #item-nav li a:hover,
body.bookorbit-member-compact #buddypress #item-nav li a:focus-visible {
    color: var(--bo-account-gold) !important;
    background: rgba(225,179,95,.11) !important;
    border-color: rgba(225,179,95,.20) !important;
    box-shadow: none !important;
}

body.bookorbit-member-compact .bookorbit-compact-member-header {
    color: var(--bo-account-ivory) !important;
    background: linear-gradient(145deg,#111922,#0c1219) !important;
    border-color: var(--bo-account-border) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.18) !important;
}
body.bookorbit-member-compact .bookorbit-compact-member-header .bookorbit-member-name {
    color: var(--bo-account-ivory) !important;
}
body.bookorbit-member-compact .bookorbit-compact-member-header .bookorbit-pronouns {
    color: var(--bo-account-gold) !important;
}
body.bookorbit-member-compact .bookorbit-compact-reading,
body.bookorbit-member-compact .bookorbit-compact-member-header .bookorbit-profile-meta {
    color: var(--bo-account-muted) !important;
}
body.bookorbit-member-compact .bookorbit-compact-member-header img.avatar {
    border: 2px solid var(--bo-account-gold) !important;
    border-radius: 50% !important;
    background: #090d12 !important;
}

body.bookorbit-member-compact .bookorbit-settings-shortcuts {
    border-color: var(--bo-account-border-soft) !important;
}
body.bookorbit-member-compact .bookorbit-settings-shortcuts a {
    color: var(--bo-account-ivory) !important;
    background: #161f29 !important;
    border-color: var(--bo-account-border-soft) !important;
}
body.bookorbit-member-compact .bookorbit-settings-shortcuts a:hover,
body.bookorbit-member-compact .bookorbit-settings-shortcuts a:focus-visible {
    color: #10151b !important;
    background: var(--bo-account-gold) !important;
    border-color: var(--bo-account-gold) !important;
}

body.bookorbit-member-compact #buddypress .item-body {
    color: var(--bo-account-ivory) !important;
    background: linear-gradient(145deg,#111821,#0d131a) !important;
    border-color: var(--bo-account-border) !important;
    box-shadow: 0 20px 52px rgba(0,0,0,.20) !important;
}

body.bookorbit-member-compact #buddypress .item-body .bp-navs,
body.bookorbit-member-compact #buddypress .item-body .bp-navs ul {
    background: transparent !important;
}
body.bookorbit-member-compact #buddypress .item-body .bp-navs li a {
    color: #d8d1ca !important;
    background: #151d26 !important;
    border-color: var(--bo-account-border-soft) !important;
}
body.bookorbit-member-compact #buddypress .item-body .bp-navs li.current a,
body.bookorbit-member-compact #buddypress .item-body .bp-navs li.selected a,
body.bookorbit-member-compact #buddypress .item-body .bp-navs li a:hover,
body.bookorbit-member-compact #buddypress .item-body .bp-navs li a:focus-visible {
    color: #10151b !important;
    background: var(--bo-account-gold) !important;
    border-color: var(--bo-account-gold) !important;
}

body.bookorbit-member-compact #buddypress .item-body h1,
body.bookorbit-member-compact #buddypress .item-body h2,
body.bookorbit-member-compact #buddypress .item-body h3,
body.bookorbit-member-compact #buddypress .item-body h4,
body.bookorbit-member-compact #buddypress .item-body legend,
body.bookorbit-member-compact #buddypress .item-body .screen-heading {
    color: var(--bo-account-ivory) !important;
    font-family: Georgia, serif;
}
body.bookorbit-member-compact #buddypress .item-body label,
body.bookorbit-member-compact #buddypress .item-body .field-visibility-settings-toggle,
body.bookorbit-member-compact #buddypress .item-body .field-visibility-settings-notoggle,
body.bookorbit-member-compact #buddypress .item-body p,
body.bookorbit-member-compact #buddypress .item-body td,
body.bookorbit-member-compact #buddypress .item-body th,
body.bookorbit-member-compact #buddypress .item-body li {
    color: var(--bo-account-muted) !important;
}
body.bookorbit-member-compact #buddypress .item-body label,
body.bookorbit-member-compact #buddypress .item-body th {
    color: var(--bo-account-ivory) !important;
}

/* Form fields and editor chrome. */
body.bookorbit-member-compact #buddypress input[type="text"],
body.bookorbit-member-compact #buddypress input[type="email"],
body.bookorbit-member-compact #buddypress input[type="password"],
body.bookorbit-member-compact #buddypress input[type="url"],
body.bookorbit-member-compact #buddypress input[type="number"],
body.bookorbit-member-compact #buddypress input[type="search"],
body.bookorbit-member-compact #buddypress textarea,
body.bookorbit-member-compact #buddypress select,
body.bookorbit-member-compact #buddypress .wp-editor-container,
body.bookorbit-member-compact #buddypress .quicktags-toolbar,
body.bookorbit-member-compact #buddypress .mce-toolbar-grp,
body.bookorbit-member-compact #buddypress .mce-edit-area,
body.bookorbit-member-compact #buddypress .mce-statusbar {
    color: var(--bo-account-ivory) !important;
    background: var(--bo-account-input) !important;
    border-color: var(--bo-account-border-soft) !important;
}
body.bookorbit-member-compact #buddypress textarea::placeholder,
body.bookorbit-member-compact #buddypress input::placeholder {
    color: #777f87 !important;
}
body.bookorbit-member-compact #buddypress input:focus,
body.bookorbit-member-compact #buddypress textarea:focus,
body.bookorbit-member-compact #buddypress select:focus {
    border-color: var(--bo-account-gold) !important;
    box-shadow: 0 0 0 3px rgba(225,179,95,.12) !important;
    outline: 0 !important;
}

/* WordPress/BuddyPress editor buttons stay readable in dark mode. */
body.bookorbit-member-compact #buddypress .wp-core-ui .button,
body.bookorbit-member-compact #buddypress .wp-editor-tabs button,
body.bookorbit-member-compact #buddypress .quicktags-toolbar input.button {
    color: var(--bo-account-ivory) !important;
    background: #1a232d !important;
    border-color: var(--bo-account-border-soft) !important;
}

body.bookorbit-member-compact #buddypress .item-body input[type="submit"],
body.bookorbit-member-compact #buddypress .item-body button:not(.mce-btn button),
body.bookorbit-member-compact #buddypress .item-body .button,
body.bookorbit-member-compact #buddypress .item-body a.button {
    color: #14100a !important;
    background: linear-gradient(180deg,#ecc875,#d9a64f) !important;
    border: 1px solid #efcf86 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.16) !important;
    font-weight: 850 !important;
}
body.bookorbit-member-compact #buddypress .item-body input[type="submit"]:hover,
body.bookorbit-member-compact #buddypress .item-body button:hover,
body.bookorbit-member-compact #buddypress .item-body .button:hover,
body.bookorbit-member-compact #buddypress .item-body a.button:hover {
    background: #f1cf84 !important;
}

body.bookorbit-member-compact #buddypress .item-body .bp-feedback {
    color: #d9d2ca !important;
    background: #151f28 !important;
    border-color: var(--bo-account-border-soft) !important;
}
body.bookorbit-member-compact #buddypress .item-body .bp-feedback .bp-icon {
    color: var(--bo-account-gold) !important;
}

/* Tables/cards on shelf, notifications and account pages. */
body.bookorbit-member-compact #buddypress .item-body table th,
body.bookorbit-member-compact #buddypress .item-body table td,
body.bookorbit-member-compact #buddypress .item-body .bookorbit-shelf-shell,
body.bookorbit-member-compact #buddypress .item-body .bookorbit-shelf-hero,
body.bookorbit-member-compact #buddypress .item-body .bookorbit-shelf-section,
body.bookorbit-member-compact #buddypress .item-body .bookorbit-shelf-tabs,
body.bookorbit-member-compact #buddypress .item-body .bookorbit-shelf-card {
    color: var(--bo-account-ivory) !important;
    background: var(--bo-account-panel) !important;
    border-color: var(--bo-account-border-soft) !important;
}
body.bookorbit-member-compact #buddypress .item-body .bookorbit-shelf-tabs a,
body.bookorbit-member-compact #buddypress .item-body a:not(.button) {
    color: var(--bo-account-gold) !important;
}

/* Radio/checkbox controls retain native accessibility while using brand accent. */
body.bookorbit-member-compact #buddypress input[type="radio"],
body.bookorbit-member-compact #buddypress input[type="checkbox"] {
    accent-color: var(--bo-account-gold);
}

@media (max-width: 760px) {
    body.bookorbit-member-area .page-content {
        width: 100% !important;
        padding-inline: 16px !important;
    }
    body.bookorbit-member-compact #buddypress .item-body {
        padding: 20px 16px !important;
    }
}


/* =============================================================================
   v2.7.1 EMERALD FORUM SYSTEM — FINAL OVERRIDES
   -----------------------------------------------------------------------------
   These rules intentionally live at the end of the stylesheet so they win over
   older lavender/plum bbPress compatibility styles that remain earlier in the
   theme. Forums use one emerald family: dark shell, rich parent cards, and a
   slightly lighter emerald for nested/subforum and discussion surfaces.
   ============================================================================= */
body.bookorbit-forum-archive,
body.bbp-forum-archive,
body.bookorbit-single-forum,
body.single-forum,
body.bookorbit-single-topic,
body.single-topic {
    --forum-950: #041712;
    --forum-900: #06231c;
    --forum-850: #092f27;
    --forum-800: #0d3b31;
    --forum-750: #12483c;
    --forum-700: #185849;
    --forum-650: #21695a;
    --forum-gold: #cba65e;
    --forum-gold-soft: #e2c57f;
    --forum-ivory: #f6f0e5;
    --forum-muted: #bdcbc4;
    --forum-line: rgba(203,166,94,.44);
    --forum-line-soft: rgba(203,166,94,.20);
    background: linear-gradient(180deg, var(--forum-950) 0%, #08261f 52%, #051b16 100%) !important;
    color: var(--forum-ivory);
}

body.bookorbit-single-forum .page-content,
body.single-forum .page-content,
body.bookorbit-single-topic .page-content,
body.single-topic .page-content {
    width: min(1460px, calc(100% - var(--bo-gutter))) !important;
    margin: clamp(34px, 4vw, 58px) auto 78px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body.bookorbit-single-forum .page-body,
body.single-forum .page-body,
body.bookorbit-single-topic .page-body,
body.single-topic .page-body { background: transparent !important; }

/* Shared category/topic hero. */
.bookorbit-single-forum-hero,
.bookorbit-single-topic-hero {
    color: var(--forum-ivory) !important;
    background: linear-gradient(135deg, #06231c 0%, #0c352c 100%) !important;
    border: 1px solid var(--forum-line) !important;
    box-shadow: 0 22px 50px rgba(0,0,0,.22) !important;
}
.bookorbit-single-forum-hero .eyebrow,
.bookorbit-single-topic-hero .eyebrow { color: var(--forum-gold-soft) !important; }
.bookorbit-single-forum-hero h1,
.bookorbit-single-topic-hero h1 { color: var(--forum-ivory) !important; }
.bookorbit-single-forum-hero p,
.bookorbit-single-topic-hero p,
.bookorbit-single-topic-hero__copy strong { color: var(--forum-muted) !important; }
.bookorbit-single-forum-hero__mark,
.bookorbit-single-topic-hero__mark { color: rgba(226,197,127,.62) !important; }

/* Breadcrumbs + utility notices. */
body.bookorbit-single-forum #bbpress-forums > .bbp-breadcrumb,
body.single-forum #bbpress-forums > .bbp-breadcrumb,
body.bookorbit-single-topic #bbpress-forums > .bbp-breadcrumb,
body.single-topic #bbpress-forums > .bbp-breadcrumb {
    color: var(--forum-muted) !important;
    background: #08271f !important;
    border: 1px solid var(--forum-line-soft) !important;
    border-radius: 14px !important;
}
body.bookorbit-single-forum #bbpress-forums .bbp-breadcrumb a,
body.single-forum #bbpress-forums .bbp-breadcrumb a,
body.bookorbit-single-topic #bbpress-forums .bbp-breadcrumb a,
body.single-topic #bbpress-forums .bbp-breadcrumb a { color: var(--forum-ivory) !important; }

body.bookorbit-single-forum #bbpress-forums > .bbp-template-notice,
body.bookorbit-single-forum #bbpress-forums > div.bbp-template-notice,
body.single-forum #bbpress-forums > .bbp-template-notice,
body.single-forum #bbpress-forums > div.bbp-template-notice,
body.bookorbit-single-topic #bbpress-forums > .bbp-template-notice,
body.single-topic #bbpress-forums > .bbp-template-notice {
    color: var(--forum-muted) !important;
    background: #07251e !important;
    border: 1px dashed rgba(203,166,94,.32) !important;
    border-left: 4px solid var(--forum-gold) !important;
    border-radius: 14px !important;
}
body.bookorbit-single-forum #bbpress-forums .bbp-template-notice p,
body.single-forum #bbpress-forums .bbp-template-notice p,
body.bookorbit-single-topic #bbpress-forums .bbp-template-notice p,
body.single-topic #bbpress-forums .bbp-template-notice p { color: inherit !important; }

/* Forum archive parent cards — must override legacy lavender declarations. */
body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum {
    color: var(--forum-ivory) !important;
    background: #0d3b31 !important;
    border: 1px solid var(--forum-line) !important;
    border-top: 1px solid var(--forum-line) !important;
    border-left: 1px solid var(--forum-line) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-title,
body.bbp-forum-archive #bbpress-forums .bbp-forum-title { color: var(--forum-ivory) !important; }
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-content,
body.bbp-forum-archive #bbpress-forums .bbp-forum-content { color: var(--forum-muted) !important; }
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-topic-count,
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-reply-count,
body.bookorbit-forum-archive #bbpress-forums .bbp-forum-freshness,
body.bbp-forum-archive #bbpress-forums .bbp-forum-topic-count,
body.bbp-forum-archive #bbpress-forums .bbp-forum-reply-count,
body.bbp-forum-archive #bbpress-forums .bbp-forum-freshness {
    color: #dce6e1 !important;
    background: #082b23 !important;
    border: 1px solid rgba(203,166,94,.22) !important;
}

/* Parent forum/category page: subforums are a lighter emerald layer. */
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body { gap: 15px !important; }
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum {
    color: var(--forum-ivory) !important;
    background: linear-gradient(135deg, #12483c, #185849) !important;
    border: 1px solid rgba(203,166,94,.34) !important;
    border-left: 4px solid var(--forum-gold) !important;
    box-shadow: 0 12px 26px rgba(0,0,0,.18) !important;
}
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::before,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::before {
    color: #09271f !important;
    background: var(--forum-gold-soft) !important;
    box-shadow: none !important;
}
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:hover,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:hover {
    background: linear-gradient(135deg, #185849, #21695a) !important;
    border-color: var(--forum-gold-soft) !important;
}
body.bookorbit-single-forum #bbpress-forums .bbp-forum-title,
body.single-forum #bbpress-forums .bbp-forum-title { color: var(--forum-ivory) !important; }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-title:hover,
body.single-forum #bbpress-forums .bbp-forum-title:hover { color: var(--forum-gold-soft) !important; }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-content,
body.single-forum #bbpress-forums .bbp-forum-content { color: #d0ddd7 !important; }
body.bookorbit-single-forum #bbpress-forums .bbp-forum-topic-count,
body.bookorbit-single-forum #bbpress-forums .bbp-forum-reply-count,
body.bookorbit-single-forum #bbpress-forums .bbp-forum-freshness,
body.single-forum #bbpress-forums .bbp-forum-topic-count,
body.single-forum #bbpress-forums .bbp-forum-reply-count,
body.single-forum #bbpress-forums .bbp-forum-freshness {
    color: #e2ebe6 !important;
    background: rgba(4,23,18,.48) !important;
    border: 1px solid rgba(203,166,94,.20) !important;
}
body.bookorbit-single-forum #bbpress-forums .bbp-forum-topic-count::before,
body.bookorbit-single-forum #bbpress-forums .bbp-forum-reply-count::before,
body.bookorbit-single-forum #bbpress-forums .bbp-forum-freshness::before,
body.single-forum #bbpress-forums .bbp-forum-topic-count::before,
body.single-forum #bbpress-forums .bbp-forum-reply-count::before,
body.single-forum #bbpress-forums .bbp-forum-freshness::before { color: var(--forum-gold-soft) !important; }

/* Topic lists in a forum. */
body.bookorbit-single-forum #bbpress-forums .bbp-topics .bbp-header,
body.bookorbit-single-forum #bbpress-forums .bbp-topics .bbp-footer,
body.single-forum #bbpress-forums .bbp-topics .bbp-header,
body.single-forum #bbpress-forums .bbp-topics .bbp-footer {
    color: var(--forum-muted) !important;
    background: #08271f !important;
    border-color: var(--forum-line-soft) !important;
}
body.bookorbit-single-forum #bbpress-forums .bbp-topics .bbp-body > ul,
body.single-forum #bbpress-forums .bbp-topics .bbp-body > ul {
    color: var(--forum-ivory) !important;
    background: #12483c !important;
    border: 1px solid rgba(203,166,94,.28) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
}
body.bookorbit-single-forum #bbpress-forums .bbp-topic-permalink,
body.single-forum #bbpress-forums .bbp-topic-permalink { color: var(--forum-ivory) !important; }

/* Discussion-form toggle. */
body.bookorbit-single-forum .bookorbit-discussion-toggle,
body.single-forum .bookorbit-discussion-toggle {
    color: #09231c !important;
    background: var(--forum-gold-soft) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.18) !important;
}
body.bookorbit-single-forum .bookorbit-discussion-toggle:hover,
body.single-forum .bookorbit-discussion-toggle:hover { background: #efd89c !important; }

/* New-topic and reply forms: remove the pale lavender canvas completely. */
body.bookorbit-single-forum #bbpress-forums fieldset.bbp-form,
body.single-forum #bbpress-forums fieldset.bbp-form,
body.bookorbit-single-topic #bbpress-forums fieldset.bbp-form,
body.single-topic #bbpress-forums fieldset.bbp-form {
    color: var(--forum-ivory) !important;
    background: linear-gradient(145deg, #0b342b, #0f4035) !important;
    border: 1px solid var(--forum-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.20) !important;
}
body.bookorbit-single-forum #bbpress-forums fieldset.bbp-form legend,
body.single-forum #bbpress-forums fieldset.bbp-form legend,
body.bookorbit-single-topic #bbpress-forums fieldset.bbp-form legend,
body.single-topic #bbpress-forums fieldset.bbp-form legend,
body.bookorbit-single-forum #bbpress-forums fieldset.bbp-form label,
body.single-forum #bbpress-forums fieldset.bbp-form label,
body.bookorbit-single-topic #bbpress-forums fieldset.bbp-form label,
body.single-topic #bbpress-forums fieldset.bbp-form label { color: var(--forum-ivory) !important; }
body.bookorbit-single-forum #bbpress-forums input[type="text"],
body.bookorbit-single-forum #bbpress-forums input[type="search"],
body.bookorbit-single-forum #bbpress-forums select,
body.bookorbit-single-forum #bbpress-forums textarea,
body.single-forum #bbpress-forums input[type="text"],
body.single-forum #bbpress-forums input[type="search"],
body.single-forum #bbpress-forums select,
body.single-forum #bbpress-forums textarea,
body.bookorbit-single-topic #bbpress-forums input[type="text"],
body.bookorbit-single-topic #bbpress-forums input[type="search"],
body.bookorbit-single-topic #bbpress-forums select,
body.bookorbit-single-topic #bbpress-forums textarea,
body.single-topic #bbpress-forums input[type="text"],
body.single-topic #bbpress-forums input[type="search"],
body.single-topic #bbpress-forums select,
body.single-topic #bbpress-forums textarea {
    color: var(--forum-ivory) !important;
    background: #071f19 !important;
    border: 1px solid rgba(203,166,94,.32) !important;
    border-radius: 12px !important;
}
body.bookorbit-single-forum #bbpress-forums input::placeholder,
body.bookorbit-single-forum #bbpress-forums textarea::placeholder,
body.single-forum #bbpress-forums input::placeholder,
body.single-forum #bbpress-forums textarea::placeholder,
body.bookorbit-single-topic #bbpress-forums input::placeholder,
body.bookorbit-single-topic #bbpress-forums textarea::placeholder,
body.single-topic #bbpress-forums input::placeholder,
body.single-topic #bbpress-forums textarea::placeholder { color: #82998e !important; }
body.bookorbit-single-forum #bbpress-forums .bbp-the-content-wrapper,
body.single-forum #bbpress-forums .bbp-the-content-wrapper,
body.bookorbit-single-topic #bbpress-forums .bbp-the-content-wrapper,
body.single-topic #bbpress-forums .bbp-the-content-wrapper {
    background: #071f19 !important;
    border: 1px solid rgba(203,166,94,.32) !important;
    border-radius: 14px !important;
}
body.bookorbit-single-forum #bbpress-forums .quicktags-toolbar,
body.single-forum #bbpress-forums .quicktags-toolbar {
    background: #0a2e26 !important;
    border-color: rgba(203,166,94,.18) !important;
}
body.bookorbit-single-forum #bbpress-forums .quicktags-toolbar input.button,
body.single-forum #bbpress-forums .quicktags-toolbar input.button {
    color: var(--forum-muted) !important;
    background: #0f4035 !important;
    border-color: rgba(203,166,94,.20) !important;
}
body.bookorbit-single-forum #bbpress-forums button[type="submit"],
body.bookorbit-single-forum #bbpress-forums input[type="submit"],
body.single-forum #bbpress-forums button[type="submit"],
body.single-forum #bbpress-forums input[type="submit"],
body.bookorbit-single-topic #bbpress-forums button[type="submit"],
body.bookorbit-single-topic #bbpress-forums input[type="submit"],
body.single-topic #bbpress-forums button[type="submit"],
body.single-topic #bbpress-forums input[type="submit"] {
    color: #08221b !important;
    background: var(--forum-gold-soft) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
}

/* Topic/reply cards: lighter emerald than the page shell, never lavender. */
body.bookorbit-single-topic #bbpress-forums .bbp-replies .bbp-body > div.topic,
body.bookorbit-single-topic #bbpress-forums .bbp-replies .bbp-body > div.reply,
body.single-topic #bbpress-forums .bbp-replies .bbp-body > div.topic,
body.single-topic #bbpress-forums .bbp-replies .bbp-body > div.reply {
    color: var(--forum-ivory) !important;
    background: linear-gradient(135deg, #12483c, #185849) !important;
    border: 1px solid rgba(203,166,94,.30) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.20) !important;
}
body.bookorbit-single-topic #bbpress-forums .bbp-topic-author,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-author,
body.single-topic #bbpress-forums .bbp-topic-author,
body.single-topic #bbpress-forums .bbp-reply-author {
    color: var(--forum-muted) !important;
    background: rgba(5,31,24,.46) !important;
    border-color: rgba(203,166,94,.18) !important;
}
body.bookorbit-single-topic #bbpress-forums .bbp-topic-content,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-content,
body.single-topic #bbpress-forums .bbp-topic-content,
body.single-topic #bbpress-forums .bbp-reply-content {
    color: var(--forum-ivory) !important;
    background: rgba(255,255,255,.025) !important;
}
body.bookorbit-single-topic #bbpress-forums .bbp-topic-content a,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-content a,
body.single-topic #bbpress-forums .bbp-topic-content a,
body.single-topic #bbpress-forums .bbp-reply-content a,
body.bookorbit-single-topic #bbpress-forums .bbp-author-name,
body.single-topic #bbpress-forums .bbp-author-name { color: var(--forum-gold-soft) !important; }
body.bookorbit-single-topic #bbpress-forums .mbo-post-date,
body.single-topic #bbpress-forums .mbo-post-date { color: #a8bbb2 !important; }
body.bookorbit-single-topic #bbpress-forums .mbo-post-actions,
body.single-topic #bbpress-forums .mbo-post-actions { border-top-color: rgba(203,166,94,.16) !important; }
body.bookorbit-single-topic #bbpress-forums .mbo-post-actions a,
body.single-topic #bbpress-forums .mbo-post-actions a { color: var(--forum-gold-soft) !important; }

/* GIF/media controls follow the same emerald system. */
.mbo-media-button,
.mbo-gif-picker__search button {
    color: #08221b !important;
    background: var(--forum-gold-soft, #e2c57f) !important;
    border-color: rgba(203,166,94,.34) !important;
}
.mbo-gif-picker {
    background: #08271f !important;
    border-color: rgba(203,166,94,.22) !important;
}
body.bookorbit-single-topic #bbpress-forums .mbo-gif-picker input[type="search"],
body.single-topic #bbpress-forums .mbo-gif-picker input[type="search"] {
    color: var(--forum-ivory) !important;
    background: #061b17 !important;
    border-color: rgba(203,166,94,.28) !important;
}
.mbo-gif-picker__status,
.mbo-forum-media__hint { color: #b6c6be !important; }
.mbo-gif-result { background: #061b17 !important; }
.mbo-gif-result:hover { border-color: var(--forum-gold-soft, #e2c57f) !important; }

@media (max-width: 700px) {
    body.bookorbit-single-forum .page-content,
    body.single-forum .page-content,
    body.bookorbit-single-topic .page-content,
    body.single-topic .page-content { width: min(100% - 28px, 1460px) !important; }
}


/* =============================================================================
   v2.7.2 EMERALD FORUM POLISH — ZERO LAVENDER/PURPLE IN FORUMS
   -----------------------------------------------------------------------------
   Final cleanup pass for bbPress. Every forum-facing surface is constrained to
   emerald + antique gold + ivory. Subforum decorative icons are removed and
   replaced by a quiet gold chevron at the row edge.
   ============================================================================= */
body.bookorbit-forum-archive,
body.bbp-forum-archive,
body.bookorbit-single-forum,
body.single-forum,
body.bookorbit-single-topic,
body.single-topic {
    --forum-deepest: #03130f;
    --forum-shell: #05231c;
    --forum-panel: #0a352b;
    --forum-panel-2: #10483b;
    --forum-panel-3: #185e4e;
    --forum-gold: #caa45b;
    --forum-gold-light: #e5c77d;
    --forum-ivory: #f7f1e6;
    --forum-muted: #c4d1cb;
    --forum-border: rgba(202,164,91,.44);
    --forum-border-soft: rgba(202,164,91,.22);
}

/* Kill any legacy plum/lavender canvases still wrapping bbPress. */
body.bookorbit-forum-archive #bbpress-forums,
body.bbp-forum-archive #bbpress-forums,
body.bookorbit-single-forum #bbpress-forums,
body.single-forum #bbpress-forums,
body.bookorbit-single-topic #bbpress-forums,
body.single-topic #bbpress-forums {
    color: var(--forum-ivory) !important;
    background: transparent !important;
}

/* Forum archive utility strip: breadcrumb, signed-in notice, search, rules. */
body.bookorbit-forum-archive #bbpress-forums > .bbp-breadcrumb,
body.bbp-forum-archive #bbpress-forums > .bbp-breadcrumb {
    color: var(--forum-muted) !important;
    background: #082b23 !important;
    border: 1px solid var(--forum-border-soft) !important;
    border-right: 0 !important;
}
body.bookorbit-forum-archive #bbpress-forums > .bbp-search-form,
body.bbp-forum-archive #bbpress-forums > .bbp-search-form {
    background: #082b23 !important;
    border: 1px solid var(--forum-border-soft) !important;
    border-left: 0 !important;
}
body.bookorbit-forum-archive #bbpress-forums > .bbp-template-notice,
body.bbp-forum-archive #bbpress-forums > .bbp-template-notice,
body.bookorbit-forum-archive #bbpress-forums > div.bbp-template-notice,
body.bbp-forum-archive #bbpress-forums > div.bbp-template-notice {
    color: var(--forum-muted) !important;
    background: #082b23 !important;
    border-color: var(--forum-border-soft) !important;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-breadcrumb a,
body.bbp-forum-archive #bbpress-forums .bbp-breadcrumb a,
body.bookorbit-forum-archive #bbpress-forums .bbp-template-notice a,
body.bbp-forum-archive #bbpress-forums .bbp-template-notice a {
    color: var(--forum-gold-light) !important;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="text"],
body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="text"] {
    color: var(--forum-ivory) !important;
    background: #041a15 !important;
    border-color: var(--forum-border) !important;
}
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="submit"],
body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="submit"],
body.bookorbit-forum-archive .bookorbit-forum-rules-gate a,
body.bbp-forum-archive .bookorbit-forum-rules-gate a {
    color: #08221b !important;
    background: var(--forum-gold-light) !important;
    border-color: var(--forum-gold-light) !important;
}

/* Subforum rows: clean text hierarchy, NO decorative square icons. */
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum {
    position: relative !important;
    padding: 20px 54px 20px 22px !important;
    grid-template-columns: minmax(0,1fr) auto auto minmax(150px,auto) !important;
    background: linear-gradient(135deg, #10483b, #185e4e) !important;
    border: 1px solid var(--forum-border) !important;
    border-left: 3px solid var(--forum-gold) !important;
    border-radius: 16px !important;
}
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::before,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::before,
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(n)::before,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:nth-child(n)::before {
    content: none !important;
    display: none !important;
}
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::after,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::after {
    content: "›" !important;
    position: absolute !important;
    right: 22px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: var(--forum-gold-light) !important;
    font-family: Georgia, serif !important;
    font-size: 1.75rem !important;
    line-height: 1 !important;
    pointer-events: none !important;
}
body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:hover,
body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum:hover {
    background: linear-gradient(135deg, #155747, #1d6b59) !important;
    border-color: var(--forum-gold-light) !important;
}

/* Forum/category utility chrome and subscriptions. */
body.bookorbit-single-forum #bbpress-forums > .bbp-breadcrumb,
body.single-forum #bbpress-forums > .bbp-breadcrumb,
body.bookorbit-single-topic #bbpress-forums > .bbp-breadcrumb,
body.single-topic #bbpress-forums > .bbp-breadcrumb {
    color: var(--forum-muted) !important;
    background: #082b23 !important;
    border-color: var(--forum-border-soft) !important;
}
body.bookorbit-single-forum #bbpress-forums .bbp-breadcrumb a,
body.single-forum #bbpress-forums .bbp-breadcrumb a,
body.bookorbit-single-topic #bbpress-forums .bbp-breadcrumb a,
body.single-topic #bbpress-forums .bbp-breadcrumb a {
    color: var(--forum-gold-light) !important;
}
body.bookorbit-single-forum #bbpress-forums #subscription-toggle a,
body.single-forum #bbpress-forums #subscription-toggle a,
body.bookorbit-single-topic #bbpress-forums #subscription-toggle a,
body.single-topic #bbpress-forums #subscription-toggle a,
body.bookorbit-single-topic #bbpress-forums #favorite-toggle a,
body.single-topic #bbpress-forums #favorite-toggle a {
    color: #08221b !important;
    background: var(--forum-gold-light) !important;
    border-color: var(--forum-gold-light) !important;
}

/* All bbPress notices, including unrestricted-HTML/editor notices. */
body.bookorbit-single-forum #bbpress-forums .bbp-template-notice,
body.single-forum #bbpress-forums .bbp-template-notice,
body.bookorbit-single-topic #bbpress-forums .bbp-template-notice,
body.single-topic #bbpress-forums .bbp-template-notice,
body.bookorbit-single-forum #bbpress-forums div.bbp-template-notice,
body.single-forum #bbpress-forums div.bbp-template-notice,
body.bookorbit-single-topic #bbpress-forums div.bbp-template-notice,
body.single-topic #bbpress-forums div.bbp-template-notice,
body.bookorbit-single-forum #bbpress-forums .bbp-template-notice.info,
body.single-forum #bbpress-forums .bbp-template-notice.info,
body.bookorbit-single-topic #bbpress-forums .bbp-template-notice.info,
body.single-topic #bbpress-forums .bbp-template-notice.info {
    color: var(--forum-muted) !important;
    background: #0a3027 !important;
    border: 1px solid var(--forum-border-soft) !important;
    border-left: 3px solid var(--forum-gold) !important;
    box-shadow: none !important;
}
body.bookorbit-single-forum #bbpress-forums .bbp-template-notice p,
body.single-forum #bbpress-forums .bbp-template-notice p,
body.bookorbit-single-topic #bbpress-forums .bbp-template-notice p,
body.single-topic #bbpress-forums .bbp-template-notice p { color: var(--forum-muted) !important; }
body.bookorbit-single-forum #bbpress-forums .bbp-template-notice a,
body.single-forum #bbpress-forums .bbp-template-notice a,
body.bookorbit-single-topic #bbpress-forums .bbp-template-notice a,
body.single-topic #bbpress-forums .bbp-template-notice a { color: var(--forum-gold-light) !important; }

/* Forms/editor: no white, lilac, lavender or plum controls. */
body.bookorbit-single-forum #bbpress-forums fieldset.bbp-form,
body.single-forum #bbpress-forums fieldset.bbp-form,
body.bookorbit-single-topic #bbpress-forums fieldset.bbp-form,
body.single-topic #bbpress-forums fieldset.bbp-form {
    background: linear-gradient(145deg, #0a342a, #10483b) !important;
    border-color: var(--forum-border) !important;
}
body.bookorbit-single-forum #bbpress-forums .quicktags-toolbar,
body.single-forum #bbpress-forums .quicktags-toolbar,
body.bookorbit-single-topic #bbpress-forums .quicktags-toolbar,
body.single-topic #bbpress-forums .quicktags-toolbar,
body.bookorbit-single-forum #bbpress-forums .wp-editor-container,
body.single-forum #bbpress-forums .wp-editor-container,
body.bookorbit-single-topic #bbpress-forums .wp-editor-container,
body.single-topic #bbpress-forums .wp-editor-container,
body.bookorbit-single-forum #bbpress-forums .mce-toolbar-grp,
body.single-forum #bbpress-forums .mce-toolbar-grp,
body.bookorbit-single-topic #bbpress-forums .mce-toolbar-grp,
body.single-topic #bbpress-forums .mce-toolbar-grp,
body.bookorbit-single-forum #bbpress-forums .mce-statusbar,
body.single-forum #bbpress-forums .mce-statusbar,
body.bookorbit-single-topic #bbpress-forums .mce-statusbar,
body.single-topic #bbpress-forums .mce-statusbar {
    background: #082b23 !important;
    border-color: var(--forum-border-soft) !important;
}
body.bookorbit-single-forum #bbpress-forums .quicktags-toolbar input.button,
body.single-forum #bbpress-forums .quicktags-toolbar input.button,
body.bookorbit-single-topic #bbpress-forums .quicktags-toolbar input.button,
body.single-topic #bbpress-forums .quicktags-toolbar input.button,
body.bookorbit-single-forum #bbpress-forums .wp-core-ui .button,
body.single-forum #bbpress-forums .wp-core-ui .button,
body.bookorbit-single-topic #bbpress-forums .wp-core-ui .button,
body.single-topic #bbpress-forums .wp-core-ui .button {
    color: var(--forum-ivory) !important;
    background: #10483b !important;
    border-color: var(--forum-border-soft) !important;
    box-shadow: none !important;
}
body.bookorbit-single-forum #bbpress-forums input[type="text"],
body.bookorbit-single-forum #bbpress-forums input[type="search"],
body.bookorbit-single-forum #bbpress-forums input[type="email"],
body.bookorbit-single-forum #bbpress-forums input[type="url"],
body.bookorbit-single-forum #bbpress-forums textarea,
body.bookorbit-single-forum #bbpress-forums select,
body.single-forum #bbpress-forums input[type="text"],
body.single-forum #bbpress-forums input[type="search"],
body.single-forum #bbpress-forums input[type="email"],
body.single-forum #bbpress-forums input[type="url"],
body.single-forum #bbpress-forums textarea,
body.single-forum #bbpress-forums select,
body.bookorbit-single-topic #bbpress-forums input[type="text"],
body.bookorbit-single-topic #bbpress-forums input[type="search"],
body.bookorbit-single-topic #bbpress-forums input[type="email"],
body.bookorbit-single-topic #bbpress-forums input[type="url"],
body.bookorbit-single-topic #bbpress-forums textarea,
body.bookorbit-single-topic #bbpress-forums select,
body.single-topic #bbpress-forums input[type="text"],
body.single-topic #bbpress-forums input[type="search"],
body.single-topic #bbpress-forums input[type="email"],
body.single-topic #bbpress-forums input[type="url"],
body.single-topic #bbpress-forums textarea,
body.single-topic #bbpress-forums select {
    color: var(--forum-ivory) !important;
    background: #041a15 !important;
    border-color: var(--forum-border) !important;
    caret-color: var(--forum-gold-light) !important;
}

/* Topic/reply chrome, author area and role badge. */
body.bookorbit-single-topic #bbpress-forums .bbp-reply-header,
body.single-topic #bbpress-forums .bbp-reply-header,
body.bookorbit-single-topic #bbpress-forums .bbp-topic-header,
body.single-topic #bbpress-forums .bbp-topic-header {
    color: var(--forum-muted) !important;
    background: #082b23 !important;
    border-color: var(--forum-border-soft) !important;
}
body.bookorbit-single-topic #bbpress-forums .bbp-author-role,
body.single-topic #bbpress-forums .bbp-author-role {
    color: #08221b !important;
    background: var(--forum-gold-light) !important;
    border: 1px solid var(--forum-gold-light) !important;
    box-shadow: none !important;
}
body.bookorbit-single-topic #bbpress-forums .bbp-topic-author .bbp-author-avatar img,
body.bookorbit-single-topic #bbpress-forums .bbp-reply-author .bbp-author-avatar img,
body.single-topic #bbpress-forums .bbp-topic-author .bbp-author-avatar img,
body.single-topic #bbpress-forums .bbp-reply-author .bbp-author-avatar img {
    border-color: var(--forum-gold) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.22) !important;
}
body.bookorbit-single-topic #bbpress-forums .bbp-admin-links,
body.single-topic #bbpress-forums .bbp-admin-links,
body.bookorbit-single-topic #bbpress-forums .bbp-admin-links a,
body.single-topic #bbpress-forums .bbp-admin-links a {
    color: var(--forum-gold-light) !important;
}

/* Topic table becomes the compact clean emerald table from the approved mockup. */
body.bookorbit-single-forum #bbpress-forums .bbp-topics,
body.single-forum #bbpress-forums .bbp-topics {
    border: 1px solid var(--forum-border) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #082b23 !important;
}
body.bookorbit-single-forum #bbpress-forums .bbp-topics .bbp-header,
body.bookorbit-single-forum #bbpress-forums .bbp-topics .bbp-footer,
body.single-forum #bbpress-forums .bbp-topics .bbp-header,
body.single-forum #bbpress-forums .bbp-topics .bbp-footer {
    color: var(--forum-ivory) !important;
    background: #082b23 !important;
    border: 0 !important;
}
body.bookorbit-single-forum #bbpress-forums .bbp-topics .bbp-body > ul,
body.single-forum #bbpress-forums .bbp-topics .bbp-body > ul {
    margin: 0 !important;
    background: #10483b !important;
    border: 0 !important;
    border-top: 1px solid var(--forum-border-soft) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Rules gate accents must also obey the emerald system. */
body.bookorbit-forum-archive .bookorbit-forum-rules-gate,
body.bbp-forum-archive .bookorbit-forum-rules-gate,
body.bookorbit-single-forum .bookorbit-forum-rules-gate,
body.single-forum .bookorbit-forum-rules-gate {
    color: var(--forum-muted) !important;
    background: #082b23 !important;
    border-color: var(--forum-border-soft) !important;
}
body.bookorbit-forum-archive .bookorbit-forum-rules-gate__moon,
body.bbp-forum-archive .bookorbit-forum-rules-gate__moon,
body.bookorbit-single-forum .bookorbit-forum-rules-gate__moon,
body.single-forum .bookorbit-forum-rules-gate__moon {
    color: var(--forum-gold-light) !important;
}

@media (max-width: 940px) {
    body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
    body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum {
        padding: 18px 44px 18px 18px !important;
    }
    body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::after,
    body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::after { right: 16px !important; }
}

/* =============================================================================
   v2.7.3 FORUM PURPLE PURGE
   Absolutely no legacy lavender/plum survives inside the Forums experience.
   ============================================================================= */

/* Archive access/welcome strip was legacy .mbo-forum-access markup. */
body.bookorbit-forum-archive .mbo-forum-access,
body.bbp-forum-archive .mbo-forum-access,
body.bookorbit-forum-archive #bbpress-forums > .mbo-forum-access,
body.bbp-forum-archive #bbpress-forums > .mbo-forum-access,
body.bookorbit-forum-archive section[class*="forum-access"],
body.bbp-forum-archive section[class*="forum-access"] {
    color: var(--forum-muted) !important;
    background: #082b23 !important;
    border-color: var(--forum-border-soft) !important;
    box-shadow: none !important;
}
body.bookorbit-forum-archive .mbo-forum-access a,
body.bbp-forum-archive .mbo-forum-access a,
body.bookorbit-forum-archive section[class*="forum-access"] a,
body.bbp-forum-archive section[class*="forum-access"] a {
    color: var(--forum-gold-light) !important;
    background-color: transparent !important;
    border-color: var(--forum-border-soft) !important;
}
body.bookorbit-forum-archive .mbo-forum-access a:hover,
body.bookorbit-forum-archive .mbo-forum-access a:focus,
body.bookorbit-forum-archive .mbo-forum-access a:visited,
body.bbp-forum-archive .mbo-forum-access a:hover,
body.bbp-forum-archive .mbo-forum-access a:focus,
body.bbp-forum-archive .mbo-forum-access a:visited {
    color: var(--forum-gold-light) !important;
}

/* The visible Forum Rules pill/button in the archive utility strip. */
body.bookorbit-forum-archive .mbo-forum-access .button,
body.bookorbit-forum-archive .mbo-forum-access__buttons a,
body.bbp-forum-archive .mbo-forum-access .button,
body.bbp-forum-archive .mbo-forum-access__buttons a,
body.bookorbit-forum-archive a[href*="community-rules"],
body.bbp-forum-archive a[href*="community-rules"] {
    color: #08221b !important;
    background: var(--forum-gold-light) !important;
    border: 1px solid var(--forum-gold-light) !important;
    box-shadow: none !important;
}
body.bookorbit-forum-archive .mbo-forum-access .button:hover,
body.bookorbit-forum-archive .mbo-forum-access__buttons a:hover,
body.bbp-forum-archive .mbo-forum-access .button:hover,
body.bbp-forum-archive .mbo-forum-access__buttons a:hover,
body.bookorbit-forum-archive a[href*="community-rules"]:hover,
body.bbp-forum-archive a[href*="community-rules"]:hover {
    color: #061b16 !important;
    background: #efd89c !important;
    border-color: #efd89c !important;
}

/* Forum links: remove legacy purple link/visited colors everywhere in bbPress. */
body.bookorbit-forum-archive #bbpress-forums a:not(.button),
body.bbp-forum-archive #bbpress-forums a:not(.button),
body.bookorbit-single-forum #bbpress-forums a:not(.button),
body.single-forum #bbpress-forums a:not(.button),
body.bookorbit-single-topic #bbpress-forums a:not(.button),
body.single-topic #bbpress-forums a:not(.button) {
    color: var(--forum-gold-light) !important;
    text-decoration-color: rgba(229,199,125,.45) !important;
}
body.bookorbit-forum-archive #bbpress-forums a:not(.button):visited,
body.bbp-forum-archive #bbpress-forums a:not(.button):visited,
body.bookorbit-single-forum #bbpress-forums a:not(.button):visited,
body.single-forum #bbpress-forums a:not(.button):visited,
body.bookorbit-single-topic #bbpress-forums a:not(.button):visited,
body.single-topic #bbpress-forums a:not(.button):visited,
body.bookorbit-forum-archive #bbpress-forums a:not(.button):hover,
body.bbp-forum-archive #bbpress-forums a:not(.button):hover,
body.bookorbit-single-forum #bbpress-forums a:not(.button):hover,
body.single-forum #bbpress-forums a:not(.button):hover,
body.bookorbit-single-topic #bbpress-forums a:not(.button):hover,
body.single-topic #bbpress-forums a:not(.button):hover {
    color: #efd89c !important;
}

/* Media/GIF controls had old plum declarations outside the bbPress selectors. */
body.bookorbit-single-topic .mbo-media-button,
body.single-topic .mbo-media-button,
body.bookorbit-single-topic .mbo-gif-picker__search button,
body.single-topic .mbo-gif-picker__search button,
body.bookorbit-single-topic .mbo-media-preview button,
body.single-topic .mbo-media-preview button {
    color: #08221b !important;
    background: var(--forum-gold-light) !important;
    border-color: var(--forum-gold-light) !important;
    box-shadow: none !important;
}
body.bookorbit-single-topic .mbo-media-button:hover,
body.single-topic .mbo-media-button:hover,
body.bookorbit-single-topic .mbo-gif-picker__search button:hover,
body.single-topic .mbo-gif-picker__search button:hover,
body.bookorbit-single-topic .mbo-media-preview button:hover,
body.single-topic .mbo-media-preview button:hover {
    background: #efd89c !important;
}
body.bookorbit-single-topic .mbo-gif-picker,
body.single-topic .mbo-gif-picker,
body.bookorbit-single-topic .mbo-media-preview,
body.single-topic .mbo-media-preview,
body.bookorbit-single-topic .mbo-gif-result,
body.single-topic .mbo-gif-result {
    background-color: #061b17 !important;
    border-color: var(--forum-border-soft) !important;
}
body.bookorbit-single-topic .mbo-gif-picker__credit,
body.single-topic .mbo-gif-picker__credit,
body.bookorbit-single-topic .mbo-post-media__credit,
body.single-topic .mbo-post-media__credit,
body.bookorbit-single-topic .mbo-forum-media__hint,
body.single-topic .mbo-forum-media__hint {
    color: var(--forum-muted) !important;
}

/* Generic buttons and controls in forum pages: gold, never plum. */
body.bookorbit-forum-archive #bbpress-forums button,
body.bbp-forum-archive #bbpress-forums button,
body.bookorbit-single-forum #bbpress-forums button,
body.single-forum #bbpress-forums button,
body.bookorbit-single-topic #bbpress-forums button,
body.single-topic #bbpress-forums button,
body.bookorbit-single-forum #bbpress-forums input[type="submit"],
body.single-forum #bbpress-forums input[type="submit"],
body.bookorbit-single-topic #bbpress-forums input[type="submit"],
body.single-topic #bbpress-forums input[type="submit"] {
    color: #08221b !important;
    background: var(--forum-gold-light) !important;
    border-color: var(--forum-gold-light) !important;
    box-shadow: none !important;
}

/* Native checkbox/radio accent was still purple in a legacy rules declaration. */
body.bookorbit-forum-archive input[type="checkbox"],
body.bbp-forum-archive input[type="checkbox"],
body.bookorbit-single-forum input[type="checkbox"],
body.single-forum input[type="checkbox"],
body.bookorbit-single-topic input[type="checkbox"],
body.single-topic input[type="checkbox"],
body.bookorbit-forum-archive input[type="radio"],
body.bbp-forum-archive input[type="radio"],
body.bookorbit-single-forum input[type="radio"],
body.single-forum input[type="radio"],
body.bookorbit-single-topic input[type="radio"],
body.single-topic input[type="radio"] {
    accent-color: var(--forum-gold-light) !important;
}


/* =============================================================================
   v2.7.4 FORUM UTILITY BAR — FINAL PURPLE REMOVAL
   The archive intro/utility region is saved page + bbPress output and has used
   several legacy wrappers over time. This deliberately targets the rendered
   archive children rather than relying on one old class name.
   ============================================================================= */
body.bookorbit-forum-archive #bbpress-forums > .bbp-breadcrumb,
body.bookorbit-forum-archive #bbpress-forums > .bbp-template-notice,
body.bookorbit-forum-archive #bbpress-forums > div.bbp-template-notice,
body.bookorbit-forum-archive #bbpress-forums > .bbp-search-form,
body.bookorbit-forum-archive #bbpress-forums > .mbo-forum-access,
body.bookorbit-forum-archive #bbpress-forums > section[class*="forum-access"],
body.bbp-forum-archive #bbpress-forums > .bbp-breadcrumb,
body.bbp-forum-archive #bbpress-forums > .bbp-template-notice,
body.bbp-forum-archive #bbpress-forums > div.bbp-template-notice,
body.bbp-forum-archive #bbpress-forums > .bbp-search-form,
body.bbp-forum-archive #bbpress-forums > .mbo-forum-access,
body.bbp-forum-archive #bbpress-forums > section[class*="forum-access"],
body.bookorbit-forum-archive #bbpress-forums > div:not(.bbp-pagination):not(.bbp-topic-form):not(.bbp-reply-form),
body.bbp-forum-archive #bbpress-forums > div:not(.bbp-pagination):not(.bbp-topic-form):not(.bbp-reply-form) {
    background-color: #082b23 !important;
    background-image: none !important;
    color: #d9e1dc !important;
    border-color: rgba(215,164,93,.34) !important;
    box-shadow: none !important;
}

/* Some page builders wrap the whole breadcrumb/notice/search/rules region. */
body.bookorbit-forum-archive .page-body > div:has(#bbpress-forums),
body.bbp-forum-archive .page-body > div:has(#bbpress-forums) {
    --forum-utility-bg: #082b23;
}
body.bookorbit-forum-archive #bbpress-forums > .bbp-breadcrumb + .bbp-template-notice,
body.bbp-forum-archive #bbpress-forums > .bbp-breadcrumb + .bbp-template-notice,
body.bookorbit-forum-archive #bbpress-forums > .bbp-template-notice + .bbp-search-form,
body.bbp-forum-archive #bbpress-forums > .bbp-template-notice + .bbp-search-form {
    background: #082b23 !important;
}

/* The Rules control can be a theme button, block button, or plain page link. */
body.bookorbit-forum-archive a[href*="forum-rules"],
body.bookorbit-forum-archive a[href*="community-rules"],
body.bbp-forum-archive a[href*="forum-rules"],
body.bbp-forum-archive a[href*="community-rules"],
body.bookorbit-forum-archive .wp-block-button__link[href*="rules"],
body.bbp-forum-archive .wp-block-button__link[href*="rules"] {
    color: #08221b !important;
    background-color: #e5c77d !important;
    background-image: none !important;
    border: 1px solid #e5c77d !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
body.bookorbit-forum-archive a[href*="forum-rules"]:hover,
body.bookorbit-forum-archive a[href*="community-rules"]:hover,
body.bbp-forum-archive a[href*="forum-rules"]:hover,
body.bbp-forum-archive a[href*="community-rules"]:hover,
body.bookorbit-forum-archive .wp-block-button__link[href*="rules"]:hover,
body.bbp-forum-archive .wp-block-button__link[href*="rules"]:hover {
    color: #061b16 !important;
    background-color: #efd89c !important;
    border-color: #efd89c !important;
}

/* Kill legacy plum values if they survive through nested utility wrappers. */
body.bookorbit-forum-archive #bbpress-forums .bbp-breadcrumb,
body.bookorbit-forum-archive #bbpress-forums .bbp-template-notice,
body.bookorbit-forum-archive #bbpress-forums .bbp-search-form,
body.bbp-forum-archive #bbpress-forums .bbp-breadcrumb,
body.bbp-forum-archive #bbpress-forums .bbp-template-notice,
body.bbp-forum-archive #bbpress-forums .bbp-search-form {
    background-color: #082b23 !important;
    background-image: none !important;
}

/* =============================================================================
   v2.7.5 FORUM RULES BUTTON — FINAL GOLD OVERRIDE
   The archive Rules control can come from saved page markup rather than bbPress,
   so target every known button/link shape inside the archive utility region.
   ============================================================================= */
body.bookorbit-forum-archive #bbpress-forums a.button,
body.bbp-forum-archive #bbpress-forums a.button,
body.bookorbit-forum-archive #bbpress-forums .button,
body.bbp-forum-archive #bbpress-forums .button,
body.bookorbit-forum-archive #bbpress-forums .wp-element-button,
body.bbp-forum-archive #bbpress-forums .wp-element-button,
body.bookorbit-forum-archive #bbpress-forums [class*="rules"] a,
body.bbp-forum-archive #bbpress-forums [class*="rules"] a,
body.bookorbit-forum-archive #bbpress-forums a[class*="rules"],
body.bbp-forum-archive #bbpress-forums a[class*="rules"],
body.bookorbit-forum-archive #bbpress-forums a[href*="rules"],
body.bbp-forum-archive #bbpress-forums a[href*="rules"] {
    color: #08221b !important;
    background: #e5c77d !important;
    background-color: #e5c77d !important;
    background-image: none !important;
    border-color: #e5c77d !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
body.bookorbit-forum-archive #bbpress-forums a.button:hover,
body.bbp-forum-archive #bbpress-forums a.button:hover,
body.bookorbit-forum-archive #bbpress-forums .button:hover,
body.bbp-forum-archive #bbpress-forums .button:hover,
body.bookorbit-forum-archive #bbpress-forums .wp-element-button:hover,
body.bbp-forum-archive #bbpress-forums .wp-element-button:hover,
body.bookorbit-forum-archive #bbpress-forums [class*="rules"] a:hover,
body.bbp-forum-archive #bbpress-forums [class*="rules"] a:hover,
body.bookorbit-forum-archive #bbpress-forums a[class*="rules"]:hover,
body.bbp-forum-archive #bbpress-forums a[class*="rules"]:hover,
body.bookorbit-forum-archive #bbpress-forums a[href*="rules"]:hover,
body.bbp-forum-archive #bbpress-forums a[href*="rules"]:hover {
    color: #061b16 !important;
    background: #efd89c !important;
    background-color: #efd89c !important;
    border-color: #efd89c !important;
}


/* =============================================================================
   v2.7.6 FORUM RULES BUTTON — SOURCE-LEVEL GOLD LOCK
   The visible archive control is not guaranteed to be an anchor. Cover the
   actual access-strip button shapes directly; JS also applies the same palette
   inline to the control whose visible label is "Forum Rules".
   ============================================================================= */
body.bookorbit-forum-archive .mbo-forum-access button,
body.bbp-forum-archive .mbo-forum-access button,
body.bookorbit-forum-archive section[class*="forum-access"] button,
body.bbp-forum-archive section[class*="forum-access"] button,
body.bookorbit-forum-archive #bbpress-forums button[class*="rule"],
body.bbp-forum-archive #bbpress-forums button[class*="rule"],
body.bookorbit-forum-archive #bbpress-forums a.mbo-forum-rules-button,
body.bbp-forum-archive #bbpress-forums a.mbo-forum-rules-button {
    color: #08221b !important;
    background: #e5c77d !important;
    background-color: #e5c77d !important;
    background-image: none !important;
    border: 1px solid #e5c77d !important;
    box-shadow: none !important;
}
body.bookorbit-forum-archive .mbo-forum-access button:hover,
body.bbp-forum-archive .mbo-forum-access button:hover,
body.bookorbit-forum-archive section[class*="forum-access"] button:hover,
body.bbp-forum-archive section[class*="forum-access"] button:hover,
body.bookorbit-forum-archive #bbpress-forums button[class*="rule"]:hover,
body.bbp-forum-archive #bbpress-forums button[class*="rule"]:hover,
body.bookorbit-forum-archive #bbpress-forums a.mbo-forum-rules-button:hover,
body.bbp-forum-archive #bbpress-forums a.mbo-forum-rules-button:hover {
    color: #061b16 !important;
    background: #efd89c !important;
    background-color: #efd89c !important;
    border-color: #efd89c !important;
}


/* =============================================================================
   v2.8.0 BOOK REVIEWS — DEEP NAVY SECTION IDENTITY
   Book Reviews use navy as their section color while the global header/footer
   remain shared Spines & Stars chrome. Antique gold and ivory remain universal.
   ============================================================================= */
:root {
    --ss-review-navy-950: #06131f;
    --ss-review-navy-900: #071827;
    --ss-review-navy-850: #0a2033;
    --ss-review-navy-800: #0d2940;
    --ss-review-navy-750: #12344b;
    --ss-review-navy-700: #173f59;
    --ss-review-ivory: #f5f0e6;
    --ss-review-ivory-soft: #d8d3c9;
    --ss-review-muted: #b6c1c8;
    --ss-review-gold: #d8ae5a;
    --ss-review-gold-bright: #e5c77d;
    --ss-review-line: rgba(216,174,90,.42);
    --ss-review-line-soft: rgba(216,174,90,.22);
}

/* Archive shell + heading. */
.reviews-index-page,
body.page-template-page-book-reviews main.reviews-index-page {
    min-height: 70vh;
    color: var(--ss-review-ivory);
    background:
        radial-gradient(circle at 86% 8%, rgba(36,87,123,.26), transparent 30%),
        linear-gradient(145deg, var(--ss-review-navy-950), var(--ss-review-navy-900) 52%, var(--ss-review-navy-850));
}
body.page-template-page-book-reviews main.reviews-index-page { padding: 1px 0; }
.reviews-index-section { padding: clamp(72px,7vw,108px) 0 96px; }
.reviews-index-page .reviews-index-heading { margin-bottom: 34px; }
.reviews-index-page .section-title,
.reviews-index-page .reviews-index-heading h1 {
    color: var(--ss-review-ivory) !important;
}
.reviews-index-page .reviews-index-heading p {
    color: var(--ss-review-muted) !important;
}
.reviews-index-page .reviews-index-intro,
.reviews-index-page .reviews-index-intro.page-body {
    color: var(--ss-review-ivory-soft);
    background: var(--ss-review-navy-850);
    border: 1px solid var(--ss-review-line-soft);
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
}

/* Archive review cards. */
.reviews-index-page .review-list { gap: 30px; }
.reviews-index-page .review-list-item {
    color: var(--ss-review-ivory);
    background: linear-gradient(145deg, var(--ss-review-navy-750), var(--ss-review-navy-800));
    border: 1px solid var(--ss-review-line);
    box-shadow: 0 20px 46px rgba(0,0,0,.28);
}
.reviews-index-page .review-list-cover {
    background: var(--ss-review-navy-950);
    border-right: 1px solid var(--ss-review-line-soft);
}
.reviews-index-page .review-list-body { color: var(--ss-review-ivory-soft); }
.reviews-index-page .review-list-body .meta {
    color: var(--ss-review-gold-bright) !important;
    letter-spacing: .13em;
}
.reviews-index-page .review-list-body .post-title,
.reviews-index-page .review-list-body .post-title a {
    color: var(--ss-review-ivory) !important;
}
.reviews-index-page .review-list-author {
    color: var(--ss-review-muted) !important;
}
.reviews-index-page .review-list-body .excerpt,
.reviews-index-page .review-list-body .excerpt p {
    color: var(--ss-review-ivory-soft) !important;
}
.reviews-index-page .review-list-body .rating {
    color: var(--ss-review-gold-bright) !important;
}
.reviews-index-page .review-list-body .rating strong {
    color: var(--ss-review-ivory) !important;
}
.reviews-index-page .review-list-body .read-link {
    color: var(--ss-review-gold-bright) !important;
}
.reviews-index-page .review-list-body .read-link:hover {
    color: #f0d99c !important;
}
.reviews-index-page .review-cover-placeholder {
    color: var(--ss-review-ivory);
    background: linear-gradient(160deg, var(--ss-review-navy-800), var(--ss-review-navy-950));
}
.reviews-index-page .empty-state {
    color: var(--ss-review-ivory-soft);
    background: var(--ss-review-navy-850);
    border-color: var(--ss-review-line);
}
.reviews-index-page .empty-state h2 { color: var(--ss-review-ivory); }
.reviews-index-page .empty-state p { color: var(--ss-review-muted); }

/* Single review: deep navy hero and reading canvas. */
.single-review-page {
    color: var(--ss-review-ivory);
    background:
        radial-gradient(circle at 86% 5%, rgba(34,84,119,.22), transparent 28%),
        linear-gradient(145deg, var(--ss-review-navy-950), var(--ss-review-navy-900) 58%, var(--ss-review-navy-850));
}
.single-review-page .review-header {
    color: var(--ss-review-ivory);
    background:
        radial-gradient(circle at 82% 26%, rgba(44,99,137,.20), transparent 34%),
        linear-gradient(145deg, #06131f, #0a2033 58%, #0d2940);
    border-bottom: 1px solid var(--ss-review-line-soft);
}
.single-review-page .review-header-cover {
    border: 1px solid rgba(216,174,90,.42);
    box-shadow: 0 26px 60px rgba(0,0,0,.42);
}
.single-review-page .review-title,
.single-review-page .review-header-rating strong {
    color: var(--ss-review-ivory) !important;
}
.single-review-page .review-header .eyebrow {
    color: var(--ss-review-gold-bright) !important;
}
.single-review-page .author-line { color: var(--ss-review-muted); }
.single-review-page .rating { color: var(--ss-review-gold-bright); }
.single-review-page .score {
    color: var(--ss-review-ivory-soft);
    background: rgba(6,19,31,.28);
    border-color: var(--ss-review-line-soft);
}
.single-review-page .score strong { color: var(--ss-review-gold-bright); }
.single-review-page .review-layout { color: var(--ss-review-ivory-soft); }
.single-review-page .review-content {
    color: var(--ss-review-ivory-soft);
    background: linear-gradient(145deg, var(--ss-review-navy-750), #102f46);
    border: 1px solid var(--ss-review-line);
    box-shadow: 0 22px 52px rgba(0,0,0,.28);
}
.single-review-page .review-content p,
.single-review-page .review-content li,
.single-review-page .review-content figcaption {
    color: var(--ss-review-ivory-soft);
}
.single-review-page .review-content h1,
.single-review-page .review-content h2,
.single-review-page .review-content h3,
.single-review-page .review-content h4 {
    color: var(--ss-review-ivory) !important;
}
.single-review-page .review-content a {
    color: var(--ss-review-gold-bright);
    text-decoration: underline;
    text-decoration-color: rgba(229,199,125,.45);
    text-underline-offset: .18em;
}
.single-review-page .review-content strong { color: var(--ss-review-ivory); }
.single-review-page .review-content hr { border-color: var(--ss-review-line-soft); }
.single-review-page .review-content blockquote {
    color: var(--ss-review-ivory-soft);
    background: #0b273b;
    border-left-color: var(--ss-review-gold);
}
.single-review-page .review-content blockquote p { color: inherit; }

/* Review sidebar. */
.single-review-page .review-sidebar-card {
    color: var(--ss-review-ivory-soft);
    background: linear-gradient(145deg, #102f46, var(--ss-review-navy-850));
    border: 1px solid var(--ss-review-line);
    box-shadow: 0 18px 42px rgba(0,0,0,.24);
}
.single-review-page .review-sidebar-card h3 {
    color: var(--ss-review-ivory) !important;
}
.single-review-page .review-detail-list div {
    border-bottom-color: var(--ss-review-line-soft);
}
.single-review-page .review-detail-list dt {
    color: var(--ss-review-gold-bright);
}
.single-review-page .review-detail-list dd {
    color: var(--ss-review-ivory);
}
.single-review-page .warning-box {
    color: var(--ss-review-ivory-soft);
    background: #081b2a;
    border: 1px solid var(--ss-review-line);
    box-shadow: 0 18px 42px rgba(0,0,0,.28);
}
.single-review-page .warning-kicker { color: var(--ss-review-gold-bright); }
.single-review-page .warning-box h2 { color: var(--ss-review-ivory); }
.single-review-page .warning-box p { color: var(--ss-review-ivory-soft); }
.single-review-page .spoiler-label {
    color: #071827;
    background: var(--ss-review-gold-bright);
    border: 1px solid var(--ss-review-gold-bright);
}

/* WordPress blocks inside review content should never fall back to lavender. */
.single-review-page .review-content .wp-block-table table,
.single-review-page .review-content table {
    color: var(--ss-review-ivory-soft);
    background: #0d2940;
    border-color: var(--ss-review-line-soft);
}
.single-review-page .review-content th,
.single-review-page .review-content td {
    border-color: var(--ss-review-line-soft);
}
.single-review-page .review-content .wp-block-separator { color: var(--ss-review-line); }
.single-review-page .review-content .has-background {
    color: var(--ss-review-ivory-soft) !important;
    background-color: #0d2940 !important;
}

@media (max-width: 760px) {
    .reviews-index-page .review-list-item { grid-template-columns: 1fr; }
    .reviews-index-page .review-list-cover img { max-height: 520px; object-fit: contain; background: var(--ss-review-navy-950); }
    .reviews-index-page .review-list-cover { border-right: 0; border-bottom: 1px solid var(--ss-review-line-soft); }
    .single-review-page .review-content { padding: 30px 24px; }
}


/* =============================================================================
   v2.8.1 ABOUT — DEEP WINE SECTION IDENTITY
   The current "What the Hell Is Spines & Stars?" page owns the wine palette.
   ============================================================================= */
:root {
    --ss-about-wine-950: #21070d;
    --ss-about-wine-900: #310a14;
    --ss-about-wine-850: #42101d;
    --ss-about-wine-800: #551526;
    --ss-about-wine-750: #6a1d31;
    --ss-about-wine-700: #7a2940;
    --ss-about-ivory: #f5f0e6;
    --ss-about-ivory-soft: #ddd3c8;
    --ss-about-muted: #c7b6b8;
    --ss-about-gold: #d8ae5a;
    --ss-about-gold-bright: #e5c77d;
    --ss-about-line: rgba(216,174,90,.42);
    --ss-about-line-soft: rgba(216,174,90,.22);
}

body.spines-stars-about-page {
    color: var(--ss-about-ivory);
    background:
        radial-gradient(circle at 86% 8%, rgba(122,41,64,.24), transparent 30%),
        linear-gradient(145deg, var(--ss-about-wine-950), var(--ss-about-wine-900) 52%, var(--ss-about-wine-850));
}
body.spines-stars-about-page main {
    min-height: 72vh;
    padding: clamp(54px,6vw,88px) 0 90px;
    background: transparent;
}
body.spines-stars-about-page .page-content {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
    padding: clamp(42px,5vw,72px);
    color: var(--ss-about-ivory-soft);
    background: linear-gradient(145deg, var(--ss-about-wine-800), var(--ss-about-wine-850));
    border: 1px solid var(--ss-about-line);
    border-radius: 26px;
    box-shadow: 0 24px 58px rgba(0,0,0,.30);
}
body.spines-stars-about-page .page-content > .section-title {
    margin: 0 0 28px;
    color: var(--ss-about-ivory) !important;
    font-size: clamp(2.5rem,5vw,4.6rem);
    line-height: .98;
}
body.spines-stars-about-page .page-body {
    color: var(--ss-about-ivory-soft);
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.spines-stars-about-page .page-body p,
body.spines-stars-about-page .page-body li {
    color: var(--ss-about-ivory-soft) !important;
}
body.spines-stars-about-page .page-body h2,
body.spines-stars-about-page .page-body h3,
body.spines-stars-about-page .page-body h4 {
    margin-top: 2.1em;
    color: var(--ss-about-gold-bright) !important;
}
body.spines-stars-about-page .page-body strong { color: var(--ss-about-ivory) !important; }
body.spines-stars-about-page .page-body a {
    color: var(--ss-about-gold-bright) !important;
    text-decoration-color: rgba(229,199,125,.5);
    text-underline-offset: .18em;
}
body.spines-stars-about-page .page-body blockquote {
    color: var(--ss-about-ivory-soft);
    background: rgba(33,7,13,.44);
    border-left: 4px solid var(--ss-about-gold);
}
body.spines-stars-about-page .page-body hr { border-color: var(--ss-about-line-soft); }
body.spines-stars-about-page .page-body .has-background {
    color: var(--ss-about-ivory-soft) !important;
    background: var(--ss-about-wine-850) !important;
}

@media (max-width: 760px) {
    body.spines-stars-about-page main { padding: 34px 0 58px; }
    body.spines-stars-about-page .page-content {
        width: min(100% - 24px, 1120px);
        padding: 30px 22px;
        border-radius: 20px;
    }
}


/* =============================================================================
   v2.8.3 ABOUT — WINE PAGE OVERRIDE FIX
   The generic standard-page selector is intentionally very specific, so the
   About page needs an equally explicit section override. This keeps the current
   “What the Hell Is Spines & Stars?” page fully wine-toned with no pale legacy
   surface leaking through.
   ============================================================================= */
body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) {
    color: var(--ss-about-ivory);
    background:
        radial-gradient(circle at 86% 8%, rgba(122,41,64,.28), transparent 31%),
        linear-gradient(145deg, var(--ss-about-wine-950), var(--ss-about-wine-900) 52%, var(--ss-about-wine-850)) !important;
}
body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) main {
    min-height: 72vh;
    padding: clamp(54px,6vw,88px) 0 90px;
    background:
        radial-gradient(circle at 12% 18%, rgba(106,29,49,.22), transparent 30%),
        linear-gradient(145deg, var(--ss-about-wine-950), var(--ss-about-wine-900) 58%, var(--ss-about-wine-850)) !important;
}
body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) .page-content {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
    padding: clamp(42px,5vw,72px);
    color: var(--ss-about-ivory-soft) !important;
    background:
        linear-gradient(145deg, rgba(122,41,64,.96), rgba(85,21,38,.98) 62%, rgba(66,16,29,.98)) !important;
    border: 1px solid var(--ss-about-line) !important;
    border-radius: 26px;
    box-shadow: 0 24px 58px rgba(0,0,0,.34) !important;
}
body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) .page-content > .section-title {
    color: var(--ss-about-ivory) !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.18);
}
body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) .page-body {
    color: var(--ss-about-ivory-soft) !important;
    background: transparent !important;
}
body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) .page-body p,
body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) .page-body li {
    color: var(--ss-about-ivory-soft) !important;
}
body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) .page-body h2,
body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) .page-body h3,
body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) .page-body h4 {
    color: var(--ss-about-gold-bright) !important;
}
body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) .page-body a {
    color: var(--ss-about-gold-bright) !important;
}

@media (max-width:760px) {
    body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) main {
        padding: 34px 0 58px;
    }
    body.page.spines-stars-about-page:not(.buddypress):not(.bbpress) .page-content {
        width: min(100% - 24px, 1120px);
        padding: 30px 22px;
        border-radius: 20px;
    }
}


/* =============================================================================
   v2.8.4 PUBLIC INFO PAGES — DEEP PLUM SECTION IDENTITY
   Community Rules, Terms, Privacy, and Contact share a plum family while the
   About page keeps its separate wine identity.
   ============================================================================= */
:root {
    --ss-plum-950: #160b1c;
    --ss-plum-900: #21102b;
    --ss-plum-850: #2d1739;
    --ss-plum-800: #3a2048;
    --ss-plum-750: #4a2a59;
    --ss-plum-panel: #3b2149;
    --ss-plum-panel-deep: #2b1836;
    --ss-plum-ivory: #f5f0e6;
    --ss-plum-ivory-soft: #e5dce2;
    --ss-plum-muted: #cbbdca;
    --ss-plum-gold: #d8ae5a;
    --ss-plum-gold-bright: #e5c77d;
    --ss-plum-line: rgba(216,174,90,.42);
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) {
    color: var(--ss-plum-ivory);
    background: linear-gradient(145deg, var(--ss-plum-950), var(--ss-plum-900) 55%, var(--ss-plum-850)) !important;
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) main {
    min-height: 72vh;
    padding: clamp(48px,5vw,76px) 0 82px;
    background:
        radial-gradient(circle at 86% 8%, rgba(74,42,89,.30), transparent 31%),
        linear-gradient(145deg, var(--ss-plum-950), var(--ss-plum-900) 58%, var(--ss-plum-850)) !important;
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-content {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
    padding: clamp(40px,5vw,68px);
    color: var(--ss-plum-ivory-soft) !important;
    background: linear-gradient(145deg, var(--ss-plum-panel), var(--ss-plum-panel-deep)) !important;
    border: 1px solid var(--ss-plum-line) !important;
    border-radius: 26px;
    box-shadow: 0 24px 58px rgba(0,0,0,.34) !important;
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-content > .section-title,
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body h1 {
    color: var(--ss-plum-ivory) !important;
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body {
    color: var(--ss-plum-ivory-soft) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body p,
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body li,
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body label,
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body span {
    color: var(--ss-plum-ivory-soft) !important;
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body h2,
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body h3,
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body h4,
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body h5 {
    color: var(--ss-plum-gold-bright) !important;
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body strong {
    color: var(--ss-plum-ivory) !important;
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body a {
    color: var(--ss-plum-gold-bright) !important;
    text-decoration-color: rgba(229,199,125,.52);
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body input:not([type="checkbox"]):not([type="radio"]),
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body textarea,
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body select {
    color: var(--ss-plum-ivory) !important;
    background: rgba(22,11,28,.76) !important;
    border: 1px solid rgba(216,174,90,.38) !important;
    border-radius: 12px;
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body input:focus,
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body textarea:focus,
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body select:focus {
    border-color: var(--ss-plum-gold-bright) !important;
    outline: 2px solid rgba(229,199,125,.16);
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body button,
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body input[type="submit"],
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-body .wp-block-button__link {
    color: #17110a !important;
    background: var(--ss-plum-gold-bright) !important;
    border-color: var(--ss-plum-gold-bright) !important;
}
body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .bookorbit-rules-agreement-card {
    color: var(--ss-plum-ivory-soft) !important;
    background: rgba(22,11,28,.55) !important;
    border-color: var(--ss-plum-line) !important;
}
@media (max-width:760px) {
    body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) main { padding: 34px 0 58px; }
    body.page.spines-stars-plum-page:not(.buddypress):not(.bbpress) .page-content {
        width: min(100% - 24px, 1120px);
        padding: 30px 22px;
        border-radius: 20px;
    }
}

/* =============================================================================
   20. v2.8.5 — MEMBER AREA: HOMEPAGE MIDNIGHT + GOLD
   -----------------------------------------------------------------------------
   Removes the remaining legacy lavender/plum UI from BuddyPress account pages.
   The member dashboard now follows the core homepage palette: midnight,
   charcoal, antique gold, and ivory. Public profile data/behavior is unchanged.
   ============================================================================= */
body.bookorbit-member-area {
    --ss-member-midnight: #0b1720;
    --ss-member-midnight-2: #101d27;
    --ss-member-panel: #13222d;
    --ss-member-panel-2: #172a36;
    --ss-member-gold: #d8ae5a;
    --ss-member-gold-bright: #e5c77d;
    --ss-member-ivory: #f3eee4;
    --ss-member-muted: #c8c1b7;
    --ss-member-line: rgba(216,174,90,.34);
    background: var(--ss-member-midnight) !important;
    color: var(--ss-member-ivory) !important;
}
body.bookorbit-member-area main,
body.bookorbit-member-area .page-content,
body.bookorbit-member-area .page-body,
body.bookorbit-member-area #buddypress,
body.bookorbit-member-area #buddypress .bp-wrap {
    background: var(--ss-member-midnight) !important;
    color: var(--ss-member-ivory) !important;
}
body.bookorbit-member-area .page-content {
    border-color: var(--ss-member-line) !important;
}

/* Main Profile / My Shelf / Notifications / Forums / Settings bar. */
body.bookorbit-member-area #buddypress .bookorbit-member-nav,
body.bookorbit-member-area #buddypress #item-nav ul,
body.bookorbit-member-area #buddypress nav#object-nav ul,
body.bookorbit-member-area #buddypress .buddypress-wrap #object-nav ul {
    background: linear-gradient(145deg, #101d27, #0b1720) !important;
    border: 1px solid var(--ss-member-line) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.24) !important;
}
body.bookorbit-member-area #buddypress .bookorbit-member-nav-link,
body.bookorbit-member-area #buddypress #item-nav li a,
body.bookorbit-member-area #buddypress nav#object-nav li a {
    color: var(--ss-member-ivory) !important;
    background: transparent !important;
    border-color: transparent !important;
}
body.bookorbit-member-area #buddypress .bookorbit-member-nav-link:hover,
body.bookorbit-member-area #buddypress #item-nav li a:hover,
body.bookorbit-member-area #buddypress nav#object-nav li a:hover {
    color: var(--ss-member-gold-bright) !important;
    background: rgba(216,174,90,.08) !important;
    border-color: rgba(216,174,90,.24) !important;
}
body.bookorbit-member-area #buddypress .bookorbit-member-nav-link.is-active,
body.bookorbit-member-area #buddypress #item-nav li.current a,
body.bookorbit-member-area #buddypress #item-nav li.selected a,
body.bookorbit-member-area #buddypress nav#object-nav li.current a,
body.bookorbit-member-area #buddypress nav#object-nav li.selected a {
    color: #17110a !important;
    background: var(--ss-member-gold-bright) !important;
    border-color: var(--ss-member-gold-bright) !important;
    box-shadow: 0 6px 18px rgba(216,174,90,.18) !important;
}

/* Compact identity header + account content. */
body.bookorbit-member-compact #buddypress .bookorbit-compact-member-header,
body.bookorbit-member-compact #buddypress .item-body {
    color: var(--ss-member-ivory) !important;
    background: linear-gradient(145deg, var(--ss-member-midnight-2), var(--ss-member-panel)) !important;
    border: 1px solid var(--ss-member-line) !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.22) !important;
}
body.bookorbit-member-compact #buddypress .bookorbit-member-name,
body.bookorbit-member-compact #buddypress .item-body h1,
body.bookorbit-member-compact #buddypress .item-body h2,
body.bookorbit-member-compact #buddypress .item-body h3,
body.bookorbit-member-compact #buddypress .item-body h4,
body.bookorbit-member-compact #buddypress .item-body legend {
    color: var(--ss-member-ivory) !important;
}
body.bookorbit-member-compact #buddypress .bookorbit-pronouns,
body.bookorbit-member-compact #buddypress .bookorbit-compact-reading,
body.bookorbit-member-compact #buddypress .item-body p,
body.bookorbit-member-compact #buddypress .item-body label,
body.bookorbit-member-compact #buddypress .item-body .description,
body.bookorbit-member-compact #buddypress .item-body .field-visibility-settings-notoggle,
body.bookorbit-member-compact #buddypress .item-body .field-visibility-settings {
    color: var(--ss-member-muted) !important;
}

/* Secondary BuddyPress tabs: View/Edit, Inbox/Starred/Sent/Compose, Settings tabs. */
body.bookorbit-member-compact #buddypress .item-body .bp-navs ul,
body.bookorbit-member-compact #buddypress .item-body #subnav ul {
    background: transparent !important;
    border: 0 !important;
}
body.bookorbit-member-compact #buddypress .item-body .bp-navs li a,
body.bookorbit-member-compact #buddypress .item-body #subnav li a,
body.bookorbit-member-compact #buddypress .bookorbit-settings-shortcuts a {
    color: var(--ss-member-ivory) !important;
    background: #101b24 !important;
    border: 1px solid rgba(216,174,90,.26) !important;
}
body.bookorbit-member-compact #buddypress .item-body .bp-navs li.current a,
body.bookorbit-member-compact #buddypress .item-body .bp-navs li.selected a,
body.bookorbit-member-compact #buddypress .item-body #subnav li.current a,
body.bookorbit-member-compact #buddypress .item-body #subnav li.selected a {
    color: #17110a !important;
    background: var(--ss-member-gold-bright) !important;
    border-color: var(--ss-member-gold-bright) !important;
}

/* Edit Profile: kill BuddyPress's white/lavender field cards and editor chrome. */
body.bookorbit-member-compact #buddypress .item-body .editfield,
body.bookorbit-member-compact #buddypress .item-body fieldset,
body.bookorbit-member-compact #buddypress .item-body .field-visibility-settings,
body.bookorbit-member-compact #buddypress .item-body .wp-editor-container,
body.bookorbit-member-compact #buddypress .item-body .mce-panel,
body.bookorbit-member-compact #buddypress .item-body .mce-toolbar-grp,
body.bookorbit-member-compact #buddypress .item-body .quicktags-toolbar,
body.bookorbit-member-compact #buddypress .item-body .wp-editor-tabs {
    color: var(--ss-member-ivory) !important;
    background: var(--ss-member-panel) !important;
    border-color: var(--ss-member-line) !important;
}
body.bookorbit-member-compact #buddypress .item-body .editfield {
    margin-bottom: 14px !important;
    padding: 20px !important;
    border: 1px solid var(--ss-member-line) !important;
    border-radius: 14px !important;
}
body.bookorbit-member-compact #buddypress .item-body input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body.bookorbit-member-compact #buddypress .item-body textarea,
body.bookorbit-member-compact #buddypress .item-body select {
    color: var(--ss-member-ivory) !important;
    background: #09141c !important;
    border: 1px solid rgba(216,174,90,.38) !important;
    border-radius: 10px !important;
}
body.bookorbit-member-compact #buddypress .item-body input:focus,
body.bookorbit-member-compact #buddypress .item-body textarea:focus,
body.bookorbit-member-compact #buddypress .item-body select:focus {
    border-color: var(--ss-member-gold-bright) !important;
    outline: 2px solid rgba(229,199,125,.13) !important;
}
body.bookorbit-member-compact #buddypress .item-body .wp-switch-editor,
body.bookorbit-member-compact #buddypress .item-body input[type="submit"],
body.bookorbit-member-compact #buddypress .item-body button:not(.mce-btn) {
    color: #17110a !important;
    background: var(--ss-member-gold-bright) !important;
    border: 1px solid var(--ss-member-gold-bright) !important;
}
body.bookorbit-member-compact #buddypress .item-body .mce-btn,
body.bookorbit-member-compact #buddypress .item-body .mce-btn button {
    color: var(--ss-member-ivory) !important;
    background: #172630 !important;
    border-color: rgba(216,174,90,.22) !important;
}

/* Tables, notices, search and empty states. */
body.bookorbit-member-compact #buddypress .item-body table th,
body.bookorbit-member-compact #buddypress .item-body table td,
body.bookorbit-member-compact #buddypress .item-body .bp-feedback,
body.bookorbit-member-compact #buddypress .item-body .bp-feedback p,
body.bookorbit-member-compact #buddypress .item-body .bp-messages,
body.bookorbit-member-compact #buddypress .item-body .messages-notices,
body.bookorbit-member-compact #buddypress .item-body .notification-settings {
    color: var(--ss-member-ivory) !important;
    background: #13222d !important;
    border-color: rgba(216,174,90,.20) !important;
}
body.bookorbit-member-compact #buddypress .item-body a {
    color: var(--ss-member-gold-bright);
}


/* =============================================================================
   21. v2.8.7 — PROFILE EDIT FINAL CLEANUP + TRUE THEME-AWARE MY SHELF
   Fixes the malformed v2.8.6 override block and applies the intended styles
   with real CSS. Account tools remain Midnight + Gold; My Shelf follows the
   member-selected Emerald, Plum, Wine, Midnight, or Monochrome palette.
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Edit Profile / Profile Extras — Midnight + Gold
   ----------------------------------------------------------------------------- */
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-editor,
body.bookorbit-member-compact #buddypress form#profile-edit-form .bookorbit-profile-media-editor,
body.bookorbit-member-compact #buddypress .standard-form .bookorbit-profile-media-editor {
    color: var(--ss-member-ivory) !important;
    background: linear-gradient(145deg, #101f2a, #0c1821) !important;
    border: 1px solid rgba(216,174,90,.38) !important;
    box-shadow: none !important;
}
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-editor-heading {
    background: transparent !important;
}
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-card {
    color: var(--ss-member-ivory) !important;
    background: #0d1a23 !important;
    border: 1px solid rgba(216,174,90,.30) !important;
    box-shadow: none !important;
}
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-kicker {
    color: var(--ss-member-gold-bright) !important;
}
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-editor h3,
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-copy h4 {
    color: var(--ss-member-ivory) !important;
}
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-editor-heading p,
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-copy p,
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-note,
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-remove {
    color: var(--ss-member-muted) !important;
}
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-preview {
    background: #09141c !important;
    border-color: rgba(216,174,90,.25) !important;
}
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-file-label {
    color: #17110a !important;
    background: var(--ss-member-gold-bright) !important;
    border: 1px solid var(--ss-member-gold-bright) !important;
}
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-file-label:hover,
body.bookorbit-member-compact #buddypress .bookorbit-profile-media-file-label:focus-within {
    background: #efd28e !important;
}

/* Remove the last white BuddyPress helper strips and editor canvas. */
body.bookorbit-member-compact #buddypress .editfield > .description,
body.bookorbit-member-compact #buddypress .editfield > p.description,
body.bookorbit-member-compact #buddypress .field-visibility-settings-notoggle,
body.bookorbit-member-compact #buddypress .field-visibility-settings-notoggle * {
    color: var(--ss-member-muted) !important;
    background: transparent !important;
    border: 0 !important;
}
body.bookorbit-member-compact #buddypress .wp-editor-container,
body.bookorbit-member-compact #buddypress .wp-editor-container iframe,
body.bookorbit-member-compact #buddypress .wp-editor-container textarea.wp-editor-area {
    color: var(--ss-member-ivory) !important;
    background: #09141c !important;
    border-color: rgba(216,174,90,.25) !important;
}

/* -----------------------------------------------------------------------------
   My Shelf palette variables. These are attached directly to the shelf section,
   so they do not depend on BuddyPress exposing a particular current component.
   ----------------------------------------------------------------------------- */
.bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] {
    --shelf-shell:#050d17;
    --shelf-panel:#081d30;
    --shelf-card:#0b2437;
    --shelf-card-2:#103249;
    --shelf-text:#f5f0e6;
    --shelf-muted:#bdc6cc;
    --shelf-border:rgba(216,174,90,.34);
    --shelf-accent:#d8ae5a;
    --shelf-accent-bright:#e5c77d;
    --shelf-track:rgba(255,255,255,.13);
    --shelf-shadow:rgba(0,0,0,.22);
    color:var(--shelf-text) !important;
    background:var(--shelf-shell) !important;
}
.bookorbit-my-shelf-page.bookorbit-shelf-theme-emerald {
    --shelf-shell:#041712; --shelf-panel:#082a20; --shelf-card:#0b3327; --shelf-card-2:#104434;
    --shelf-muted:#c1cec7; --shelf-border:rgba(216,174,90,.34); --shelf-track:rgba(224,239,231,.14);
}
.bookorbit-my-shelf-page.bookorbit-shelf-theme-plum {
    --shelf-shell:#140a19; --shelf-panel:#24112d; --shelf-card:#2f173a; --shelf-card-2:#3d1d4a;
    --shelf-muted:#d0c0cf; --shelf-border:rgba(216,174,90,.34); --shelf-track:rgba(244,224,245,.14);
}
.bookorbit-my-shelf-page.bookorbit-shelf-theme-wine {
    --shelf-shell:#17070d; --shelf-panel:#330d19; --shelf-card:#421121; --shelf-card-2:#54152a;
    --shelf-muted:#d2bdc1; --shelf-border:rgba(216,174,90,.34); --shelf-track:rgba(248,224,227,.14);
}
.bookorbit-my-shelf-page.bookorbit-shelf-theme-midnight {
    --shelf-shell:#050d17; --shelf-panel:#081d30; --shelf-card:#0b2437; --shelf-card-2:#103249;
    --shelf-muted:#bdc6cc; --shelf-border:rgba(216,174,90,.34); --shelf-track:rgba(221,234,245,.14);
}
.bookorbit-my-shelf-page.bookorbit-shelf-theme-monochrome {
    --shelf-shell:#0a0b0d; --shelf-panel:#141619; --shelf-card:#1a1d21; --shelf-card-2:#24282d;
    --shelf-muted:#c2c4c7; --shelf-border:rgba(216,174,90,.30); --shelf-track:rgba(255,255,255,.12);
}

/* Shelf shell + hero. */
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] {
    padding: 0 0 28px !important;
    background: var(--shelf-shell) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-page-header {
    color:var(--shelf-text) !important;
    background:linear-gradient(145deg, var(--shelf-panel), var(--shelf-card)) !important;
    border:1px solid var(--shelf-border) !important;
    box-shadow:0 14px 32px var(--shelf-shadow) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-eyebrow,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-page-header h2,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-page-counts strong {
    color:var(--shelf-accent-bright) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-page-header p,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-page-counts span,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-progress-label,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-limit {
    color:var(--shelf-muted) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-page-counts > div {
    color:var(--shelf-text) !important;
    background:var(--shelf-card-2) !important;
    border:1px solid var(--shelf-border) !important;
}

/* Tabs + shelf sections. */
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-tabs,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-section {
    color:var(--shelf-text) !important;
    background:var(--shelf-card) !important;
    border:1px solid var(--shelf-border) !important;
    box-shadow:none !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-tabs a,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-section a,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-section-heading h3 {
    color:var(--shelf-accent-bright) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-tabs a:hover,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-tabs a:focus {
    color:var(--shelf-accent-bright) !important;
    background:var(--shelf-card-2) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-tabs span {
    color:var(--shelf-text) !important;
    background:var(--shelf-track) !important;
}

/* Current read, TBR/read book cards and empty states. */
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-current-card,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-mini-card,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-empty-state,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-add-form {
    color:var(--shelf-text) !important;
    background:var(--shelf-card-2) !important;
    border:1px solid var(--shelf-border) !important;
    box-shadow:none !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-book-info h4,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-mini-card h4,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-empty-state h4 {
    color:var(--shelf-text) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-mini-card p,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-empty-state p {
    color:var(--shelf-muted) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-progress {
    background:var(--shelf-track) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-progress span {
    background:linear-gradient(90deg,var(--shelf-accent),var(--shelf-accent-bright)) !important;
}

/* Shelf controls. */
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-edit-link,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-add-panel summary,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-card-actions button,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] button,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] input[type="submit"] {
    color:#17110a !important;
    background:var(--shelf-accent-bright) !important;
    border-color:var(--shelf-accent-bright) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-remove {
    color:var(--shelf-text) !important;
    background:transparent !important;
    border:1px solid var(--shelf-border) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] select {
    color:var(--shelf-text) !important;
    background:var(--shelf-shell) !important;
    border:1px solid var(--shelf-border) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-notice {
    color:var(--shelf-text) !important;
    background:var(--shelf-card-2) !important;
    border:1px solid var(--shelf-border) !important;
}


/* =============================================================================
   22. v2.8.9 — MEMBER AREA FINAL FALLBACK: MIDNIGHT + GOLD
   Dynamic shelf theme detection proved unreliable on the live BuddyPress setup.
   Per design decision, My Shelf now intentionally falls back to the same core
   Midnight + Gold system as the homepage/account area. This also purges the
   remaining lavender/plum styling from Settings and related account controls.
   ============================================================================= */

/* My Shelf: stable Midnight + Gold fallback regardless of stored profile theme. */
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] {
    --shelf-shell:#07131c !important;
    --shelf-panel:#0d1d28 !important;
    --shelf-card:#112733 !important;
    --shelf-card-2:#173442 !important;
    --shelf-text:#f5f0e6 !important;
    --shelf-muted:#c8c1b7 !important;
    --shelf-border:rgba(216,174,90,.36) !important;
    --shelf-accent:#d8ae5a !important;
    --shelf-accent-bright:#e5c77d !important;
    --shelf-track:rgba(255,255,255,.12) !important;
    --shelf-shadow:rgba(0,0,0,.24) !important;
    color:var(--shelf-text) !important;
    background:var(--shelf-shell) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-page-header,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-page-counts > div,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-tabs,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-section,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-book,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-empty {
    color:var(--shelf-text) !important;
    border-color:var(--shelf-border) !important;
    box-shadow:none !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-page-header {
    background:linear-gradient(145deg,var(--shelf-panel),var(--shelf-card)) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-page-counts > div,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-book,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-empty {
    background:var(--shelf-card-2) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-tabs,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-section {
    background:var(--shelf-card) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] a,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] h2,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] h3,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-eyebrow,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .bookorbit-shelf-page-counts strong {
    color:var(--shelf-accent-bright) !important;
}
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] button,
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] input[type="submit"],
#buddypress .bookorbit-my-shelf-page[class*="bookorbit-shelf-theme-"] .button {
    color:#17110a !important;
    background:var(--shelf-accent-bright) !important;
    border-color:var(--shelf-accent-bright) !important;
}

/* Settings / Notifications / Messages: absolutely no lavender/plum surfaces. */
body.bookorbit-member-compact #buddypress .item-body #settings-form,
body.bookorbit-member-compact #buddypress .item-body form.settings-form,
body.bookorbit-member-compact #buddypress .item-body .bp-settings-container,
body.bookorbit-member-compact #buddypress .item-body .bp-settings,
body.bookorbit-member-compact #buddypress .item-body .settings-form,
body.bookorbit-member-compact #buddypress .item-body .notification-settings,
body.bookorbit-member-compact #buddypress .item-body .messages-notices,
body.bookorbit-member-compact #buddypress .item-body .bp-feedback,
body.bookorbit-member-compact #buddypress .item-body .bp-messages {
    color:var(--ss-member-ivory) !important;
    background:var(--ss-member-panel) !important;
    border-color:var(--ss-member-line) !important;
}
body.bookorbit-member-compact #buddypress .item-body .bp-navs,
body.bookorbit-member-compact #buddypress .item-body .bp-navs ul,
body.bookorbit-member-compact #buddypress .item-body #subnav,
body.bookorbit-member-compact #buddypress .item-body #subnav ul {
    background:transparent !important;
    border-color:transparent !important;
    box-shadow:none !important;
}
body.bookorbit-member-compact #buddypress .item-body .bp-navs li a,
body.bookorbit-member-compact #buddypress .item-body #subnav li a,
body.bookorbit-member-compact #buddypress .bookorbit-settings-shortcuts a {
    color:var(--ss-member-ivory) !important;
    background:#0d1a23 !important;
    border:1px solid rgba(216,174,90,.30) !important;
    box-shadow:none !important;
}
body.bookorbit-member-compact #buddypress .item-body .bp-navs li.current a,
body.bookorbit-member-compact #buddypress .item-body .bp-navs li.selected a,
body.bookorbit-member-compact #buddypress .item-body #subnav li.current a,
body.bookorbit-member-compact #buddypress .item-body #subnav li.selected a,
body.bookorbit-member-compact #buddypress .item-body .bp-navs li a[aria-current="page"] {
    color:#17110a !important;
    background:var(--ss-member-gold-bright) !important;
    border-color:var(--ss-member-gold-bright) !important;
}
body.bookorbit-member-compact #buddypress .item-body table,
body.bookorbit-member-compact #buddypress .item-body table tbody,
body.bookorbit-member-compact #buddypress .item-body table tr,
body.bookorbit-member-compact #buddypress .item-body table th,
body.bookorbit-member-compact #buddypress .item-body table td {
    color:var(--ss-member-ivory) !important;
    background:#101d27 !important;
    border-color:rgba(216,174,90,.18) !important;
}
body.bookorbit-member-compact #buddypress .item-body input[type="checkbox"],
body.bookorbit-member-compact #buddypress .item-body input[type="radio"] {
    accent-color:var(--ss-member-gold-bright) !important;
}

/* Last-resort purge for common legacy BuddyPress lavender classes inside account screens. */
body.bookorbit-member-compact #buddypress .item-body [class*="lavender"],
body.bookorbit-member-compact #buddypress .item-body [class*="purple"] {
    background:#101d27 !important;
    color:var(--ss-member-ivory) !important;
    border-color:var(--ss-member-line) !important;
}


/* =============================================================================
   23. v2.8.10 — EDIT PROFILE HELPER BARS + EDITOR CANVAS
   Keep the member account area in the core Midnight + Gold system while
   replacing the last bright white helper strips and editor canvas.
   ============================================================================= */
body.bookorbit-member-compact #buddypress .item-body .editfield > .description,
body.bookorbit-member-compact #buddypress .item-body .editfield > p.description {
    display:block !important;
    box-sizing:border-box !important;
    width:100% !important;
    margin:.42rem 0 .58rem !important;
    padding:.42rem .68rem !important;
    color:#c8d3da !important;
    background:#173442 !important;
    border:1px solid rgba(216,174,90,.22) !important;
    border-radius:6px !important;
    line-height:1.45 !important;
}

/* Visibility copy stays subtle instead of becoming a second helper bar. */
body.bookorbit-member-compact #buddypress .item-body .field-visibility-settings-notoggle,
body.bookorbit-member-compact #buddypress .item-body .field-visibility-settings-notoggle * {
    color:#b9c3c9 !important;
    background:transparent !important;
    border:0 !important;
}

/* Darken every visible editor surface around Short Bio. */
body.bookorbit-member-compact #buddypress .item-body .wp-editor-container,
body.bookorbit-member-compact #buddypress .item-body .wp-editor-container textarea.wp-editor-area,
body.bookorbit-member-compact #buddypress .item-body .quicktags-toolbar,
body.bookorbit-member-compact #buddypress .item-body .wp-editor-tools {
    color:#f5f0e6 !important;
    background:#0b1e2b !important;
    border-color:rgba(216,174,90,.28) !important;
}
body.bookorbit-member-compact #buddypress .item-body .wp-editor-container iframe {
    background:#0b1e2b !important;
}


/* =============================================================================
   24. v2.8.11 — BUDDYPRESS PROFILE EDIT HELPER STRIPS (ACTUAL MARKUP)
   BuddyPress places field descriptions inside each fieldset, not directly under
   .editfield. Target the real Nouveau markup so the white helper strips cannot
   survive the Midnight + Gold account treatment.
   ============================================================================= */
body.bookorbit-member-compact #buddypress #profile-edit-form .editfield fieldset > .description,
body.bookorbit-member-compact #buddypress #profile-edit-form .editfield fieldset > p.description,
body.bookorbit-member-compact #buddypress #profile-edit-form .editfield fieldset .description,
body.bookorbit-member-compact #buddypress #profile-edit-form .editfield .description {
    display:block !important;
    box-sizing:border-box !important;
    width:100% !important;
    margin:.42rem 0 .58rem !important;
    padding:.46rem .70rem !important;
    color:#c8d3da !important;
    background:#173442 !important;
    border:1px solid rgba(216,174,90,.22) !important;
    border-radius:6px !important;
    line-height:1.45 !important;
}

/* Catch BuddyPress field description/help elements that do not carry .description. */
body.bookorbit-member-compact #buddypress #profile-edit-form .editfield fieldset > p:not(.field-visibility-settings-notoggle):not(.field-visibility-settings-toggle),
body.bookorbit-member-compact #buddypress #profile-edit-form .editfield fieldset > small {
    color:#c8d3da !important;
    background:#173442 !important;
    border-color:rgba(216,174,90,.22) !important;
}

/* Keep visibility copy separate and subtle. */
body.bookorbit-member-compact #buddypress #profile-edit-form .field-visibility-settings-notoggle,
body.bookorbit-member-compact #buddypress #profile-edit-form .field-visibility-settings-notoggle *,
body.bookorbit-member-compact #buddypress #profile-edit-form .field-visibility-settings-toggle,
body.bookorbit-member-compact #buddypress #profile-edit-form .field-visibility-settings-toggle * {
    background:transparent !important;
    border:0 !important;
    color:#b9c3c9 !important;
}

/* Short Bio editor shell. TinyMCE iframe body is also handled in functions.php. */
body.bookorbit-member-compact #buddypress #profile-edit-form .wp-editor-wrap,
body.bookorbit-member-compact #buddypress #profile-edit-form .wp-editor-container,
body.bookorbit-member-compact #buddypress #profile-edit-form .quicktags-toolbar,
body.bookorbit-member-compact #buddypress #profile-edit-form .mce-toolbar-grp,
body.bookorbit-member-compact #buddypress #profile-edit-form .mce-edit-area,
body.bookorbit-member-compact #buddypress #profile-edit-form textarea.wp-editor-area {
    background:#0b1e2b !important;
    color:#f5f0e6 !important;
    border-color:rgba(216,174,90,.28) !important;
}

/* =============================================================================
   25. v2.8.13 — LIVE QA PATCH
   Front-end member login, BuddyPress registration skin, and mobile forum fixes.
   Desktop forum/profile layouts remain unchanged.
   ============================================================================= */

/* Account system: Midnight + Gold. */
body.page-template-page-member-login-php .member-login-page,
body.page-template-page-member-login .member-login-page {
    color:#f5f0e6;
    background:#07131d;
}
body.page-template-page-member-login-php .member-login-shell,
body.page-template-page-member-login .member-login-shell {
    background:#0b1e2b;
    border:1px solid rgba(216,174,90,.32);
    box-shadow:0 20px 55px rgba(0,0,0,.24);
}
.sns-member-login-form p { margin:0 0 18px; }
.sns-member-login-form label { display:block; margin:0 0 7px; color:#f5f0e6; font-weight:750; }
.sns-member-login-form input[type="text"],
.sns-member-login-form input[type="password"] {
    width:100%; box-sizing:border-box; padding:14px 15px;
    color:#f5f0e6; background:#071822;
    border:1px solid rgba(216,174,90,.34); border-radius:12px;
}
.sns-member-login-form input:focus { outline:2px solid rgba(229,199,125,.45); outline-offset:2px; }
.sns-login-remember label { display:flex; align-items:center; gap:9px; color:#c8d3da; font-weight:600; }
.sns-login-remember input { accent-color:#e5c77d; }
.sns-login-submit button {
    min-height:48px; padding:11px 24px; color:#071822; background:#e5c77d;
    border:1px solid #e5c77d; border-radius:999px; font-weight:850; cursor:pointer;
}
.sns-login-alert {
    margin:0 0 20px; padding:12px 14px; color:#f7e9df; background:#3b1b24;
    border:1px solid rgba(229,199,125,.32); border-left:4px solid #e5c77d; border-radius:10px;
}

/* BuddyPress native registration page: same Midnight + Gold account identity. */
body.registration,
body.register,
body.buddypress.register {
    background:#07131d !important;
    color:#f5f0e6 !important;
}
body.registration #buddypress,
body.register #buddypress,
body.buddypress.register #buddypress {
    color:#f5f0e6 !important;
}
body.registration #buddypress .standard-form,
body.register #buddypress .standard-form,
body.buddypress.register #buddypress .standard-form,
body.registration #buddypress #signup_form,
body.register #buddypress #signup_form,
body.buddypress.register #buddypress #signup_form {
    color:#f5f0e6 !important;
    background:#0b1e2b !important;
    border:1px solid rgba(216,174,90,.28) !important;
    border-radius:22px !important;
    padding:clamp(22px,4vw,38px) !important;
}
body.registration #buddypress h2,
body.registration #buddypress h3,
body.register #buddypress h2,
body.register #buddypress h3,
body.buddypress.register #buddypress h2,
body.buddypress.register #buddypress h3,
body.registration #buddypress label,
body.register #buddypress label,
body.buddypress.register #buddypress label { color:#f5f0e6 !important; }
body.registration #buddypress input[type="text"],
body.registration #buddypress input[type="email"],
body.registration #buddypress input[type="password"],
body.registration #buddypress textarea,
body.register #buddypress input[type="text"],
body.register #buddypress input[type="email"],
body.register #buddypress input[type="password"],
body.register #buddypress textarea,
body.buddypress.register #buddypress input[type="text"],
body.buddypress.register #buddypress input[type="email"],
body.buddypress.register #buddypress input[type="password"],
body.buddypress.register #buddypress textarea {
    color:#f5f0e6 !important; background:#071822 !important;
    border:1px solid rgba(216,174,90,.30) !important; border-radius:12px !important;
}
body.registration #buddypress .description,
body.registration #buddypress p.description,
body.registration #buddypress #pass-strength-result + .description,
body.register #buddypress .description,
body.register #buddypress p.description,
body.buddypress.register #buddypress .description,
body.buddypress.register #buddypress p.description {
    color:#c8d3da !important; background:#173442 !important;
    border:1px solid rgba(216,174,90,.20) !important; border-radius:8px !important;
    padding:9px 11px !important;
}
body.registration #buddypress .bp-feedback,
body.register #buddypress .bp-feedback,
body.buddypress.register #buddypress .bp-feedback {
    color:#dce6eb !important; background:#123443 !important;
    border:1px solid rgba(216,174,90,.22) !important; box-shadow:none !important;
}
body.registration #buddypress input[type="checkbox"],
body.register #buddypress input[type="checkbox"],
body.buddypress.register #buddypress input[type="checkbox"] { accent-color:#e5c77d !important; }
body.registration #buddypress input[type="submit"],
body.registration #buddypress button[type="submit"],
body.register #buddypress input[type="submit"],
body.register #buddypress button[type="submit"],
body.buddypress.register #buddypress input[type="submit"],
body.buddypress.register #buddypress button[type="submit"] {
    color:#071822 !important; background:#e5c77d !important; border:1px solid #e5c77d !important;
    border-radius:999px !important; min-height:46px !important; padding:10px 22px !important; font-weight:850 !important;
}
body.registration #buddypress .field-visibility-settings-notoggle,
body.register #buddypress .field-visibility-settings-notoggle,
body.buddypress.register #buddypress .field-visibility-settings-notoggle { color:#aebbc2 !important; }

/* Mobile-only bbPress archive repair: forum copy must never be squeezed into a sliver. */
@media (max-width: 760px) {
    body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-header,
    body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-header { display:none !important; }

    body.bookorbit-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
    body.bbp-forum-archive #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum {
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
        padding:22px 20px !important;
        min-width:0 !important;
    }
    body.bookorbit-forum-archive #bbpress-forums .bbp-forum-info,
    body.bbp-forum-archive #bbpress-forums .bbp-forum-info,
    body.bookorbit-forum-archive #bbpress-forums .bbp-forum-content,
    body.bbp-forum-archive #bbpress-forums .bbp-forum-content {
        display:block !important; width:100% !important; max-width:none !important;
        min-width:0 !important; float:none !important; overflow-wrap:anywhere !important; word-break:normal !important;
    }
    body.bookorbit-forum-archive #bbpress-forums .bbp-forum-topic-count,
    body.bookorbit-forum-archive #bbpress-forums .bbp-forum-reply-count,
    body.bookorbit-forum-archive #bbpress-forums .bbp-forum-freshness,
    body.bbp-forum-archive #bbpress-forums .bbp-forum-topic-count,
    body.bbp-forum-archive #bbpress-forums .bbp-forum-reply-count,
    body.bbp-forum-archive #bbpress-forums .bbp-forum-freshness {
        display:block !important; width:100% !important; max-width:none !important;
        min-width:0 !important; float:none !important; text-align:left !important;
    }

    /* Utility/search/access region stacks cleanly rather than preserving desktop columns. */
    body.bookorbit-forum-archive #bbpress-forums > .bbp-breadcrumb,
    body.bookorbit-forum-archive #bbpress-forums > .bbp-template-notice,
    body.bookorbit-forum-archive #bbpress-forums > .bbp-search-form,
    body.bookorbit-forum-archive #bbpress-forums > .mbo-forum-access,
    body.bbp-forum-archive #bbpress-forums > .bbp-breadcrumb,
    body.bbp-forum-archive #bbpress-forums > .bbp-template-notice,
    body.bbp-forum-archive #bbpress-forums > .bbp-search-form,
    body.bbp-forum-archive #bbpress-forums > .mbo-forum-access {
        display:block !important; width:100% !important; max-width:none !important;
        min-width:0 !important; box-sizing:border-box !important; float:none !important;
        border:1px solid rgba(202,164,91,.28) !important; border-radius:14px !important;
        margin:0 0 12px !important;
    }
    body.bookorbit-forum-archive #bbpress-forums .bbp-search-form form,
    body.bbp-forum-archive #bbpress-forums .bbp-search-form form {
        display:grid !important; grid-template-columns:1fr !important; gap:10px !important;
    }
    body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="text"],
    body.bookorbit-forum-archive #bbpress-forums .bbp-search-form input[type="submit"],
    body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="text"],
    body.bbp-forum-archive #bbpress-forums .bbp-search-form input[type="submit"] {
        width:100% !important; max-width:none !important; min-width:0 !important; box-sizing:border-box !important;
    }
    body.bookorbit-forum-archive .bookorbit-forum-rules-gate,
    body.bbp-forum-archive .bookorbit-forum-rules-gate {
        display:grid !important; grid-template-columns:1fr !important; width:100% !important; min-width:0 !important;
    }
}

/* =============================================================================
   26. v2.8.14 — MOBILE SUBFORUM + LOGIN ROUTING QA
   Only the remaining live QA failures: single-forum subforum cards on phones
   and front-end member-login routing. Desktop styling is intentionally untouched.
   ============================================================================= */
@media (max-width: 760px) {
    /* Single-forum subforum cards: defeat bbPress legacy column widths entirely. */
    body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-header,
    body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-header {
        display:none !important;
    }

    body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body,
    body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body {
        display:block !important;
        width:100% !important;
        min-width:0 !important;
    }

    body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum,
    body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum {
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
        padding:20px 48px 20px 20px !important;
    }

    body.bookorbit-single-forum #bbpress-forums .bbp-forum-info,
    body.single-forum #bbpress-forums .bbp-forum-info {
        display:block !important;
        float:none !important;
        width:100% !important;
        max-width:100% !important;
        min-width:100% !important;
        box-sizing:border-box !important;
        margin:0 0 14px !important;
        padding:0 !important;
        grid-column:1 / -1 !important;
        flex:0 0 100% !important;
    }

    body.bookorbit-single-forum #bbpress-forums .bbp-forum-title,
    body.single-forum #bbpress-forums .bbp-forum-title,
    body.bookorbit-single-forum #bbpress-forums .bbp-forum-content,
    body.single-forum #bbpress-forums .bbp-forum-content {
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
        hyphens:none !important;
    }

    body.bookorbit-single-forum #bbpress-forums .bbp-forum-content,
    body.single-forum #bbpress-forums .bbp-forum-content {
        margin-top:8px !important;
        line-height:1.6 !important;
    }

    body.bookorbit-single-forum #bbpress-forums .bbp-forum-topic-count,
    body.bookorbit-single-forum #bbpress-forums .bbp-forum-reply-count,
    body.bookorbit-single-forum #bbpress-forums .bbp-forum-freshness,
    body.single-forum #bbpress-forums .bbp-forum-topic-count,
    body.single-forum #bbpress-forums .bbp-forum-reply-count,
    body.single-forum #bbpress-forums .bbp-forum-freshness {
        display:inline-flex !important;
        float:none !important;
        width:auto !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:4px 8px 4px 0 !important;
        vertical-align:top !important;
        white-space:normal !important;
    }

    body.bookorbit-single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::after,
    body.single-forum #bbpress-forums ul.bbp-forums > li.bbp-body > ul.forum::after {
        right:18px !important;
    }
}


/* =============================================================================
   SPINES & STARS 2.8.16 — ADMIN USERNAME TOOL
   ============================================================================= */
.sns-admin-username-card {
    margin: 28px 0;
    padding: clamp(22px, 4vw, 34px);
    color: #f5f0e6;
    background: #0b1e2b;
    border: 1px solid rgba(216, 174, 90, .36);
    border-radius: 24px;
}
.sns-admin-username-card .eyebrow {
    margin: 0 0 8px;
    color: #e5c77d;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .18em;
}
.sns-admin-username-card h3 {
    margin: 0 0 12px;
    color: #f5f0e6;
}
.sns-admin-username-help,
.sns-admin-username-card .description {
    color: #cfc8d3;
    line-height: 1.65;
}
.sns-admin-username-form label {
    display: block;
    margin: 20px 0 8px;
    color: #f5f0e6;
    font-weight: 750;
}
.sns-admin-username-form input[type="text"] {
    width: 100%;
    max-width: 520px;
    min-height: 50px;
    padding: 12px 14px;
    color: #f5f0e6;
    background: #071722;
    border: 1px solid rgba(216, 174, 90, .45);
    border-radius: 14px;
}
.sns-admin-username-submit {
    margin-top: 14px !important;
    padding: 11px 20px !important;
    color: #10202a !important;
    background: #e5c77d !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
}
.sns-username-notice {
    margin: 0 0 18px;
    padding: 12px 16px;
    border-radius: 14px;
    font-weight: 700;
}
.sns-username-notice--success {
    color: #f5f0e6;
    background: #123c32;
    border: 1px solid rgba(216, 174, 90, .4);
}
.sns-username-notice--error {
    color: #f5f0e6;
    background: #4b2028;
    border: 1px solid rgba(216, 174, 90, .4);
}

/* =============================================================================
   SPINES & STARS 2.8.17 — MEMBER DIRECTORY + FRIEND CARDS
   Brings the BuddyPress Members directory and friend/member list cards into the
   same Midnight + Gold visual system as the rest of the member/account area.
   ============================================================================= */

/* Members directory canvas: remove the remaining pale BuddyPress shell. */
body.members-directory,
body.members-directory .site-main,
body.members-directory main,
body.members-directory .page-content,
body.members-directory .page-body,
body.members-directory #buddypress,
body.members-directory #buddypress .bp-wrap,
body.members-directory #members-dir-list {
    color:#f7f0e8 !important;
    background:#080d13 !important;
}

body.members-directory .page-content {
    border-color:rgba(210,164,91,.18) !important;
    box-shadow:none !important;
}

body.members-directory .bookorbit-directory-intro {
    color:#f7f0e8 !important;
    background:linear-gradient(145deg,#101821,#0b131d) !important;
    border:1px solid rgba(210,164,91,.30) !important;
    box-shadow:0 20px 50px rgba(0,0,0,.24) !important;
}
body.members-directory .bookorbit-directory-intro .eyebrow {
    color:#e1b35f !important;
}
body.members-directory .bookorbit-directory-intro h1 {
    color:#f7f0e8 !important;
}
body.members-directory .bookorbit-directory-intro p:last-child {
    color:#c7c0ba !important;
}

/* Directory nav/filter bar. */
body.members-directory #buddypress .members-type-navs,
body.members-directory #buddypress .members-type-navs ul,
body.members-directory #buddypress .subnav-filters {
    color:#f7f0e8 !important;
    background:#101821 !important;
    border-color:rgba(210,164,91,.24) !important;
}
body.members-directory #buddypress .members-type-navs li a,
body.members-directory #buddypress .members-type-navs li span {
    color:#d8d1ca !important;
}
body.members-directory #buddypress .members-type-navs li.selected a,
body.members-directory #buddypress .members-type-navs li.current a,
body.members-directory #buddypress .members-type-navs li a:hover,
body.members-directory #buddypress .members-type-navs li a:focus-visible {
    color:#10151b !important;
    background:#e1b35f !important;
}
body.members-directory #buddypress .subnav-filters input[type="search"],
body.members-directory #buddypress .subnav-filters input[type="text"],
body.members-directory #buddypress .subnav-filters select {
    color:#f7f0e8 !important;
    background:#0b1118 !important;
    border:1px solid rgba(210,164,91,.32) !important;
    border-radius:12px !important;
}
body.members-directory #buddypress #members-order-select label,
body.members-directory #buddypress .bp-pagination,
body.members-directory #buddypress .pag-count {
    color:#b9b3ad !important;
}

/* Shared dark member cards for the directory and Friends screens. */
body.members-directory #buddypress #members-list > li,
body.members-directory .bookorbit-member-card,
body.bookorbit-member-compact #buddypress #members-list > li {
    color:#f7f0e8 !important;
    background:linear-gradient(145deg,#111922,#0d141c) !important;
    border:1px solid rgba(210,164,91,.30) !important;
    box-shadow:0 18px 42px rgba(0,0,0,.20) !important;
}

body.members-directory #buddypress #members-list .item-avatar img,
body.members-directory .member-card-avatar img,
body.bookorbit-member-compact #buddypress #members-list .item-avatar img {
    border:3px solid #e1b35f !important;
    background:#090d12 !important;
    box-shadow:0 12px 28px rgba(0,0,0,.28) !important;
}

body.members-directory #buddypress #members-list .item-title,
body.members-directory #buddypress #members-list .item-title a,
body.members-directory .member-card-body h2,
body.members-directory .member-card-body h2 a,
body.bookorbit-member-compact #buddypress #members-list .item-title,
body.bookorbit-member-compact #buddypress #members-list .item-title a {
    color:#e1b35f !important;
}

body.members-directory #buddypress #members-list .bookorbit-directory-country,
body.members-directory .member-card-country,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-country {
    color:#b9b3ad !important;
}

body.members-directory #buddypress #members-list .bookorbit-directory-current-read,
body.members-directory .member-card-reading,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-current-read {
    color:#f7f0e8 !important;
    background:#0b1118 !important;
    border:1px solid rgba(210,164,91,.26) !important;
}
body.members-directory #buddypress #members-list .bookorbit-directory-label,
body.members-directory .member-card-reading span,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-label {
    color:#e1b35f !important;
}
body.members-directory #buddypress #members-list .bookorbit-directory-current-read strong,
body.members-directory .member-card-reading strong,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-current-read strong {
    color:#f7f0e8 !important;
}

body.members-directory #buddypress #members-list .bookorbit-directory-view-profile,
body.members-directory .member-card-link,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-view-profile {
    color:#10151b !important;
    background:#e1b35f !important;
    border:1px solid #e1b35f !important;
    border-radius:999px !important;
    font-weight:800 !important;
    box-shadow:none !important;
}
body.members-directory #buddypress #members-list .bookorbit-directory-view-profile:hover,
body.members-directory #buddypress #members-list .bookorbit-directory-view-profile:focus-visible,
body.members-directory .member-card-link:hover,
body.members-directory .member-card-link:focus-visible,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-view-profile:hover,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-view-profile:focus-visible {
    color:#10151b !important;
    background:#efc873 !important;
    border-color:#efc873 !important;
}

/* Friends screen list/filter copy should stay readable on the dark account panel. */
body.bookorbit-member-compact #buddypress #members-list,
body.bookorbit-member-compact #buddypress #members-dir-list,
body.bookorbit-member-compact #buddypress .members-type-navs,
body.bookorbit-member-compact #buddypress .subnav-filters {
    color:#f7f0e8 !important;
    background:transparent !important;
}
body.bookorbit-member-compact #buddypress .bp-pagination,
body.bookorbit-member-compact #buddypress .pag-count {
    color:#b9b3ad !important;
}

@media (max-width:760px) {
    body.members-directory .bookorbit-directory-intro { padding:24px 22px !important; }
    body.members-directory #buddypress .subnav-filters { padding:14px !important; }
    body.members-directory #buddypress #members-list > li,
    body.members-directory .bookorbit-member-card,
    body.bookorbit-member-compact #buddypress #members-list > li { padding:24px 20px !important; }
}

/* =============================================================================
   SPINES & STARS 2.8.18 — MEMBERS DIRECTORY SELECTOR FIX
   BuddyPress Nouveau paints the visible card on .list-wrap, not only the <li>.
   It can also miss the older members-directory body class at body_class time.
   The sns-members-directory hook above provides a reliable directory scope.
   ============================================================================= */

body.sns-members-directory,
body.sns-members-directory .site-main,
body.sns-members-directory main,
body.sns-members-directory .page-content,
body.sns-members-directory .page-body,
body.sns-members-directory #buddypress,
body.sns-members-directory #buddypress .bp-wrap,
body.sns-members-directory #members-dir-list {
    color:#f7f0e8 !important;
    background:#080d13 !important;
}

body.sns-members-directory .page-content {
    border-color:rgba(210,164,91,.20) !important;
    box-shadow:none !important;
}

body.sns-members-directory .bookorbit-directory-intro {
    color:#f7f0e8 !important;
    background:linear-gradient(145deg,#101821,#0b131d) !important;
    border:1px solid rgba(210,164,91,.30) !important;
    box-shadow:0 20px 50px rgba(0,0,0,.24) !important;
}
body.sns-members-directory .bookorbit-directory-intro .eyebrow { color:#e1b35f !important; }
body.sns-members-directory .bookorbit-directory-intro h1 { color:#f7f0e8 !important; }
body.sns-members-directory .bookorbit-directory-intro p:last-child { color:#c7c0ba !important; }

body.sns-members-directory #buddypress .members-type-navs,
body.sns-members-directory #buddypress .members-type-navs ul,
body.sns-members-directory #buddypress .subnav-filters,
body.sns-members-directory #buddypress .bp-navs,
body.sns-members-directory #buddypress .bp-navs ul {
    color:#f7f0e8 !important;
    background:#101821 !important;
    border-color:rgba(210,164,91,.24) !important;
}
body.sns-members-directory #buddypress .members-type-navs li a,
body.sns-members-directory #buddypress .members-type-navs li span,
body.sns-members-directory #buddypress .bp-navs li a,
body.sns-members-directory #buddypress .bp-navs li span { color:#d8d1ca !important; }
body.sns-members-directory #buddypress .members-type-navs li.selected a,
body.sns-members-directory #buddypress .members-type-navs li.current a,
body.sns-members-directory #buddypress .bp-navs li.selected a,
body.sns-members-directory #buddypress .bp-navs li.current a {
    color:#10151b !important;
    background:#e1b35f !important;
}
body.sns-members-directory #buddypress .subnav-filters input[type="search"],
body.sns-members-directory #buddypress .subnav-filters input[type="text"],
body.sns-members-directory #buddypress .subnav-filters select {
    color:#f7f0e8 !important;
    background:#0b1118 !important;
    border:1px solid rgba(210,164,91,.34) !important;
}
body.sns-members-directory #buddypress .subnav-filters input::placeholder { color:#9f9994 !important; opacity:1; }
body.sns-members-directory #buddypress #members-order-select label,
body.sns-members-directory #buddypress .bp-pagination,
body.sns-members-directory #buddypress .pag-count { color:#b9b3ad !important; }

/* The actual visible Nouveau member card. */
body.sns-members-directory #buddypress #members-list > li,
body.sns-members-directory #buddypress #members-list > li .list-wrap,
body.sns-members-directory #buddypress #members-list > li .item,
body.sns-members-directory .bookorbit-member-card,
body.bookorbit-member-compact #buddypress #members-list > li,
body.bookorbit-member-compact #buddypress #members-list > li .list-wrap,
body.bookorbit-member-compact #buddypress #members-list > li .item {
    color:#f7f0e8 !important;
    background:linear-gradient(145deg,#111922,#0d141c) !important;
    border-color:rgba(210,164,91,.30) !important;
    box-shadow:none !important;
}

body.sns-members-directory #buddypress #members-list > li .list-wrap,
body.bookorbit-member-compact #buddypress #members-list > li .list-wrap {
    height:100% !important;
    padding:26px 24px !important;
    border:1px solid rgba(210,164,91,.30) !important;
    border-radius:22px !important;
    box-shadow:0 18px 42px rgba(0,0,0,.22) !important;
}

body.sns-members-directory #buddypress #members-list .item-avatar img,
body.sns-members-directory .member-card-avatar img,
body.bookorbit-member-compact #buddypress #members-list .item-avatar img {
    border:3px solid #e1b35f !important;
    background:#090d12 !important;
}
body.sns-members-directory #buddypress #members-list .item-title,
body.sns-members-directory #buddypress #members-list .item-title a,
body.sns-members-directory .member-card-body h2,
body.sns-members-directory .member-card-body h2 a,
body.bookorbit-member-compact #buddypress #members-list .item-title,
body.bookorbit-member-compact #buddypress #members-list .item-title a { color:#e1b35f !important; }

body.sns-members-directory #buddypress #members-list .bookorbit-directory-country,
body.sns-members-directory .member-card-country,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-country { color:#b9b3ad !important; }

body.sns-members-directory #buddypress #members-list .bookorbit-directory-current-read,
body.sns-members-directory .member-card-reading,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-current-read {
    color:#f7f0e8 !important;
    background:#0a1118 !important;
    border-color:rgba(210,164,91,.26) !important;
}
body.sns-members-directory #buddypress #members-list .bookorbit-directory-label,
body.sns-members-directory .member-card-reading span,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-label { color:#e1b35f !important; }
body.sns-members-directory #buddypress #members-list .bookorbit-directory-current-read strong,
body.sns-members-directory .member-card-reading strong,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-current-read strong { color:#f7f0e8 !important; }

body.sns-members-directory #buddypress #members-list .bookorbit-directory-view-profile,
body.sns-members-directory .member-card-link,
body.bookorbit-member-compact #buddypress #members-list .bookorbit-directory-view-profile {
    color:#10151b !important;
    background:#e1b35f !important;
    border-color:#e1b35f !important;
}

/* Friends tab: BuddyPress places the pale surface on list-wrap as well. */
body.bookorbit-member-compact #buddypress #members-dir-list,
body.bookorbit-member-compact #buddypress #members-list,
body.bookorbit-member-compact #buddypress #members-list > li {
    background:transparent !important;
}

@media (max-width:760px) {
    body.sns-members-directory #buddypress #members-list > li .list-wrap,
    body.bookorbit-member-compact #buddypress #members-list > li .list-wrap { padding:22px 18px !important; }
}
