/**
 * Castory — palette light/dark (#776CFE, #00EA99, #A03CFF)
 */

html[data-castory-theme="light"] {
    --cast-primary: #776cfe;
    --cast-accent: #00ea99;
    --cast-hover: #a03cff;
    --cast-secondary: #99be7d;
    --castory-bg: var(--bb-body-background-color, #f4f6fb);
    --castory-bg-elevated: var(--bb-content-background-color, #ffffff);
    --castory-surface: var(--bb-content-background-color, #ffffff);
    --castory-surface-2: var(--bb-content-alternate-background-color, #eef1f8);
    --castory-border: var(--bb-content-border-color, #e2e8f0);
    --castory-text: var(--bb-body-text-color, #111827);
    --castory-text-muted: var(--bb-alternate-text-color, #6b7280);
    --castory-text-soft: var(--bb-alternate-text-color, #9ca3af);
    --castory-shadow: rgba(15, 17, 26, 0.08);
    --castory-glass-bg: rgba(255, 255, 255, 0.72);
    --castory-glass-border: rgba(119, 108, 254, 0.18);
    --castory-overlay: rgba(255, 255, 255, 0.85);
    color-scheme: light;
}

html[data-castory-theme="dark"] {
    --cast-primary: #776cfe;
    --cast-accent: #00ea99;
    --cast-hover: #a03cff;
    --cast-secondary: #99be7d;
    --castory-bg: #0f111a;
    --castory-bg-elevated: #1a1d29;
    --castory-surface: #1a1d29;
    --castory-surface-2: #2d3748;
    --castory-border: #4a5568;
    --castory-text: #f3f4f6;
    --castory-text-muted: #a03cff;
    --castory-text-soft: #a03cff;
    --castory-shadow: rgba(0, 0, 0, 0.35);
    --castory-glass-bg: rgba(26, 29, 41, 0.62);
    --castory-glass-border: rgba(255, 255, 255, 0.12);
    --castory-overlay: rgba(15, 17, 26, 0.92);
    --bb-alternate-text-color: #a03cff;
    color-scheme: dark;
}

body.bb-dark-theme,
body.dark-mode,
body.is-dark-mode {
    --bb-alternate-text-color: #a03cff;
}

html[data-castory-theme="light"] body.castory-theme-enabled {
    background-color: var(--castory-bg);
    color: var(--castory-text);
}

html[data-castory-theme="dark"] body.castory-theme-enabled {
    background-color: var(--castory-bg);
    color: var(--castory-text);
}

.castory-explore-wrap {
    --castory-explore-cols-desktop: 4;
    --castory-explore-cols-mobile: 1;
}

.castory-explore-wrap .cast-grid.bb-grid,
.castory-explore-wrap #explore-results.cast-grid {
    grid-template-columns: repeat(var(--castory-explore-cols-desktop, 4), minmax(0, 1fr));
}

.castory-explore-wrap #explore-results .castory-following-feed {
    display: grid;
    grid-template-columns: repeat(var(--castory-explore-cols-desktop, 4), minmax(0, 1fr));
    gap: 20px;
}

@media (max-width: 768px) {
    .castory-explore-wrap .cast-grid.bb-grid,
    .castory-explore-wrap #explore-results.cast-grid,
    .castory-explore-wrap #explore-results .castory-following-feed {
        grid-template-columns: repeat(var(--castory-explore-cols-mobile, 1), minmax(0, 1fr));
        gap: 12px;
    }
}

html[data-castory-theme] .castory-explore-wrap {
    color: var(--castory-text);
}

html[data-castory-theme] .explore-tabs .tab-btn,
html[data-castory-theme] .explore-category-toggle,
html[data-castory-theme] .explore-tag-toggle,
html[data-castory-theme] .explore-search-input,
html[data-castory-theme] .explore-sort-select {
    background: var(--castory-surface-2);
    border-color: var(--castory-border);
    color: var(--castory-text);
}

html[data-castory-theme] .explore-tabs .tab-btn.active,
html[data-castory-theme] .explore-tabs .tab-btn:hover {
    background: var(--cast-primary);
    border-color: var(--cast-primary);
    color: #fff;
}

html[data-castory-theme] .explore-category-panel,
html[data-castory-theme] .explore-tag-panel {
    background: var(--castory-surface);
    border-color: var(--castory-border);
}

html[data-castory-theme] .castory-explore-card {
    background: var(--castory-surface);
    border: 1px solid var(--castory-border);
}

html[data-castory-theme="light"] .castory-explore-card__body {
    background: linear-gradient(180deg, transparent 0%, var(--castory-overlay) 55%);
}

html[data-castory-theme="light"] .castory-modal-content,
html[data-castory-theme="light"] .castory-modal__head,
html[data-castory-theme="light"] .castory-modal__foot {
    background: var(--castory-surface);
    color: var(--castory-text);
    border-color: var(--castory-border);
}

html[data-castory-theme="dark"] .castory-modal-content {
    background: var(--castory-surface);
    color: var(--castory-text);
}

.castory-site-footer-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 150;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    padding: 0 12px;
}

.castory-site-footer-bar__inner {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    pointer-events: auto;
}

.castory-lang-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid var(--castory-glass-border);
    background: var(--castory-glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: var(--castory-text);
    font-size: 0.72rem;
    font-weight: 700;
    font-family: inherit;
    letter-spacing: 0.04em;
    cursor: pointer;
    box-shadow: 0 2px 10px var(--castory-shadow);
    transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.castory-lang-toggle:hover {
    transform: translateY(-1px);
    border-color: var(--cast-primary);
}

.castory-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid var(--castory-glass-border);
    background: var(--castory-glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: var(--castory-text);
    font-size: 0.72rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    box-shadow: 0 2px 10px var(--castory-shadow);
    transition: transform 0.15s ease, background 0.15s ease;
}

.castory-theme-toggle:hover {
    transform: translateY(-1px);
    border-color: var(--cast-primary);
}

.castory-theme-toggle__icon {
    font-size: 0.85rem;
    line-height: 1;
}

html[data-castory-theme="dark"] .castory-theme-toggle__icon--sun {
    display: inline;
}

html[data-castory-theme="dark"] .castory-theme-toggle__icon--moon {
    display: none;
}

html[data-castory-theme="light"] .castory-theme-toggle__icon--sun {
    display: none;
}

html[data-castory-theme="light"] .castory-theme-toggle__icon--moon {
    display: inline;
}

body.castbox-player-active .castory-site-footer-bar {
    bottom: 78px;
}

body.castbox-player-expanded .castory-site-footer-bar {
    bottom: 12px;
    z-index: 99988;
}

@media (max-width: 768px) {
    body.castbox-player-active:not(.castbox-player-expanded) .castory-site-footer-bar {
        bottom: 82px;
    }
}

body.castory-theme-enabled:not(.castbox-player-active) {
    padding-bottom: 36px;
}

html[data-castory-theme] {
    --cast-player-primary: var(--cast-primary);
    --cast-player-accent: var(--cast-accent);
}

html[data-castory-theme="light"] {
    --cast-player-glass: rgba(255, 255, 255, 0.68);
    --cast-player-glass-border: rgba(119, 108, 254, 0.22);
    --cast-player-text: var(--castory-text);
    --cast-player-muted: var(--castory-text-muted);
    --cast-player-progress-bg: rgba(119, 108, 254, 0.15);
}

html[data-castory-theme="dark"] {
    --cast-player-glass: rgba(26, 29, 41, 0.58);
    --cast-player-glass-border: rgba(255, 255, 255, 0.1);
    --cast-player-text: var(--castory-text);
    --cast-player-muted: var(--castory-text-muted);
    --cast-player-progress-bg: rgba(255, 255, 255, 0.12);
}

html[data-castory-theme] .castbox-sticky-player.is-active.is-audio-mode,
html[data-castory-theme] .castbox-sticky-player.is-active:not(.is-video-mode):not(.has-video) {
    background: var(--cast-player-glass);
    backdrop-filter: blur(22px) saturate(160%);
    -webkit-backdrop-filter: blur(22px) saturate(160%);
    border-top: 1px solid var(--cast-player-glass-border);
    box-shadow: 0 -8px 32px var(--castory-shadow);
}

html[data-castory-theme] .castbox-sticky-player.is-active.is-audio-mode .control-btn.play-pause {
    background: linear-gradient(135deg, var(--cast-primary), var(--cast-hover));
    box-shadow: 0 4px 16px rgba(119, 108, 254, 0.35);
}

html[data-castory-theme] .castbox-sticky-player .progress-bar-fill {
    background: linear-gradient(90deg, var(--cast-primary), var(--cast-accent));
}

html[data-castory-theme="dark"] body,
html[data-castory-theme="dark"] #page,
html[data-castory-theme="dark"] #content,
html[data-castory-theme="dark"] .site-content,
html[data-castory-theme="dark"] #primary,
html[data-castory-theme="dark"] main,
html[data-castory-theme="dark"] .bb-grid.site-content-grid {
    background-color: var(--castory-bg) !important;
    color: var(--castory-text);
}

html[data-castory-theme="dark"] .site-header,
html[data-castory-theme="dark"] header.site-header,
html[data-castory-theme="dark"] #masthead,
html[data-castory-theme="dark"] .main-navigation,
html[data-castory-theme="dark"] nav.main-navs,
html[data-castory-theme="dark"] .main-navs,
html[data-castory-theme="dark"] #primary-navbar,
html[data-castory-theme="dark"] .bb-mobile-header,
html[data-castory-theme="dark"] .buddypanel,
html[data-castory-theme="dark"] .buddypanel-inner {
    background-color: var(--castory-bg-elevated) !important;
    border-color: var(--castory-border) !important;
    color: var(--castory-text) !important;
}

html[data-castory-theme="dark"] footer,
html[data-castory-theme="dark"] .site-footer,
html[data-castory-theme="dark"] .footer-bottom,
html[data-castory-theme="dark"] #colophon,
html[data-castory-theme="dark"] .bb-footer {
    background-color: var(--castory-bg-elevated) !important;
    border-color: var(--castory-border) !important;
    color: var(--castory-text-muted) !important;
}

html[data-castory-theme="dark"] .podcast-item,
html[data-castory-theme="dark"] .castory-explore-card {
    background: var(--castory-surface);
    border-color: var(--castory-border);
}

html[data-castory-theme="light"] .podcast-item,
html[data-castory-theme="light"] .castory-explore-card {
    background: var(--castory-surface);
    border-color: var(--castory-border);
}

html[data-castory-theme] .castory-explore-card__title a {
    color: var(--castory-text);
}

html[data-castory-theme] .castory-explore-card__excerpt,
html[data-castory-theme] .castory-explore-card__meta {
    color: var(--castory-text-muted);
}

html[data-castory-theme] .bp-wrap,
html[data-castory-theme] .buddypress-wrap,
html[data-castory-theme] .bb-profile-content,
html[data-castory-theme] .item-body,
html[data-castory-theme] .profile.public,
html[data-castory-theme] .castbox-page,
html[data-castory-theme] .castory-manage-wrap {
    background-color: transparent;
    color: var(--castory-text);
}

html[data-castory-theme] nav.main-navs ul li a,
html[data-castory-theme] .main-navs ul li a,
html[data-castory-theme] #subnav a,
html[data-castory-theme] .bp-navs ul li a {
    color: var(--castory-text-muted);
}

html[data-castory-theme] nav.main-navs ul li.selected a,
html[data-castory-theme] nav.main-navs ul li.current a,
html[data-castory-theme] .main-navs ul li.selected a,
html[data-castory-theme] .main-navs ul li.current a,
html[data-castory-theme] #subnav li.selected a,
html[data-castory-theme] #subnav li.current a {
    color: var(--cast-primary);
}

html[data-castory-theme] .podcast-item {
    background: var(--castory-surface);
    border-color: var(--castory-border);
    color: var(--castory-text);
}

html[data-castory-theme="light"] .podcast-item {
    box-shadow: 0 4px 14px var(--castory-shadow);
}

.castory-explore-wrap .podcast-item {
    display: flex;
    min-width: 0;
    height: 100%;
}

.castory-explore-wrap .castory-explore-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.castory-explore-wrap .castory-explore-card__thumb {
    overflow: hidden;
    flex-shrink: 0;
    display: block;
}

@media (min-width: 769px) {
    .castory-explore-wrap .castory-explore-card__thumb {
        height: 180px;
        aspect-ratio: unset;
    }
}

@media (max-width: 768px) {
    .castory-explore-wrap .castory-explore-card__thumb {
        aspect-ratio: 1 / 1;
    }
}

.castory-explore-wrap .castory-explore-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.castory-explore-wrap .castory-explore-card__body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 12px;
}

.castory-explore-wrap .castory-explore-card__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1 1 auto;
    min-height: 0;
    margin-bottom: 8px;
}

.castory-explore-wrap .castory-explore-card__meta {
    flex-shrink: 0;
    flex-wrap: wrap;
}

.castory-explore-wrap .castory-card-actions {
    flex-shrink: 0;
}

.castory-episode-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 14px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid var(--castory-glass-border);
    background: var(--castory-glass-bg);
    backdrop-filter: blur(10px);
    color: var(--castory-text);
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
}

.castory-episode-back[hidden] {
    display: none !important;
}

.castory-manage-back-row {
    margin: 0 0 14px;
}

.castory-manage-back-tab {
    border: 1px solid var(--castory-border, #4a5568);
    background: var(--castory-surface-2, #2d3748);
    color: var(--castory-text, #f3f4f6);
    border-radius: 8px;
    padding: 8px 14px;
    font-family: inherit;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
}

.castory-manage-back-tab:hover {
    border-color: var(--cast-primary, #776cfe);
    color: var(--cast-primary, #776cfe);
}

/* ——— Light mode: Castory surfaces follow BuddyBoss panel colors ——— */
html[data-castory-theme="light"] .castory-manage-wrap,
html[data-castory-theme="light"] .castory-manage-hint,
html[data-castory-theme="light"] .castory-manage-back {
    color: var(--castory-text-muted);
}

html[data-castory-theme="light"] .castory-manage-header {
    border-bottom-color: var(--castory-border);
}

html[data-castory-theme="light"] .castory-manage-header h1,
html[data-castory-theme="light"] .castory-season-title,
html[data-castory-theme="light"] .castory-episode-item__title {
    color: var(--castory-text);
}

html[data-castory-theme="light"] .castory-manage-tab {
    background: var(--castory-surface-2);
    border-color: var(--castory-border);
    color: var(--castory-text-muted);
}

html[data-castory-theme="light"] .castory-manage-tab.is-active {
    background: var(--cast-primary);
    border-color: var(--cast-primary);
    color: #fff;
}

html[data-castory-theme="light"] .castory-episode-item,
html[data-castory-theme="light"] .castory-manage-empty,
html[data-castory-theme="light"] .castory-alert {
    background: var(--castory-surface);
    border-color: var(--castory-border);
    color: var(--castory-text);
}

html[data-castory-theme="light"] .castory-episode-item__meta,
html[data-castory-theme="light"] .castory-episode-item__links,
html[data-castory-theme="light"] .castory-season-count {
    color: var(--castory-text-muted);
}

html[data-castory-theme="light"] .castory-profile-header,
html[data-castory-theme="light"] .castory-profile-list .podcast-card,
html[data-castory-theme="light"] .castory-profile-empty {
    background: var(--castory-surface);
    border-color: var(--castory-border);
}

html[data-castory-theme="light"] .castory-profile-header h3,
html[data-castory-theme="light"] .castory-profile-list .podcast-card h4 a,
html[data-castory-theme="light"] .castory-profile-empty h4 {
    color: var(--castory-text);
}

html[data-castory-theme="light"] .castory-profile-list .podcast-excerpt,
html[data-castory-theme="light"] .castory-profile-header p,
html[data-castory-theme="light"] .castory-profile-empty p {
    color: var(--castory-text-muted);
}

html[data-castory-theme="light"] .castory-explore-card,
html[data-castory-theme="light"] .podcast-item {
    background: var(--castory-surface);
    border-color: var(--castory-border);
    box-shadow: 0 4px 14px var(--castory-shadow);
}

html[data-castory-theme="light"] .castory-modal-overlay {
    background: rgba(15, 17, 26, 0.42);
}

html[data-castory-theme="light"] .castory-btn--ghost,
html[data-castory-theme="light"] .castory-manage-back-tab {
    border-color: var(--castory-border);
    color: var(--castory-text);
    background: var(--castory-surface);
}

/* BuddyBoss activity form — light */
html[data-castory-theme="light"] #buddypress .bp-nouveau-activity-form,
html[data-castory-theme="light"] .bp-nouveau-activity-form {
    background: var(--castory-surface) !important;
    border-color: var(--castory-border) !important;
    color: var(--castory-text) !important;
}

html[data-castory-theme="light"] .bp-nouveau-activity-form textarea,
html[data-castory-theme="light"] .bp-nouveau-activity-form .activity-post-form-overlay {
    background: var(--castory-surface-2) !important;
    color: var(--castory-text) !important;
    border-color: var(--castory-border) !important;
}

html[data-castory-theme="light"] .activity-list .activity-item .activity-comments,
html[data-castory-theme="light"] .activity-list .activity-item.castory-activity-has-card .activity-comments {
    display: block !important;
    visibility: visible !important;
}

html[data-castory-theme="light"] .online-members-count,
html[data-castory-theme="light"] .item-list-tabs li.selected a,
html[data-castory-theme="light"] .bp-navs li.selected a {
    color: #776cfe !important;
}

html[data-castory-theme="light"] .ab-sub-wrapper.wrapper,
html[data-castory-theme="light"] .header-aside .sub-menu {
    background: #fff !important;
    border-color: #e5e7eb !important;
    box-shadow: 0 8px 24px rgba(15, 17, 26, 0.1) !important;
}

html[data-castory-theme="light"] .entry-title,
html[data-castory-theme="light"] .bb-profile-title {
    color: var(--castory-text) !important;
}

html[data-castory-theme="light"] .profile-fields,
html[data-castory-theme="light"] .bp-tables-user {
    background: var(--castory-surface) !important;
    border-color: var(--castory-border) !important;
    color: var(--castory-text) !important;
}

html[data-castory-theme="light"] .button.outline.small,
html[data-castory-theme="light"] .button.outline {
    border-color: #776cfe !important;
    color: #776cfe !important;
}

html[data-castory-theme="light"] .bp-user.castory #subnav {
    background: var(--castory-surface-2) !important;
    border-color: var(--castory-border) !important;
    border-radius: 12px;
    padding: 4px;
    margin-bottom: 16px;
}

html[data-castory-theme="light"] .bp-user.castory #subnav li.selected a,
html[data-castory-theme="light"] .bp-user.castory #subnav li.current a {
    background: rgba(119, 108, 254, 0.12) !important;
    color: #776cfe !important;
}

/* Creator Studio — primary profile nav prominence */
#buddypress #castory-tab > a,
.bp-user #castory-tab > a {
    background: linear-gradient(135deg, rgba(119, 108, 254, 0.22), rgba(160, 60, 255, 0.14)) !important;
    border: 1px solid rgba(119, 108, 254, 0.45) !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    color: #e9e5ff !important;
    box-shadow: 0 4px 14px rgba(119, 108, 254, 0.2);
}

html[data-castory-theme="light"] #buddypress #castory-tab > a,
html[data-castory-theme="light"] .bp-user #castory-tab > a {
    color: #5b4fd6 !important;
    background: linear-gradient(135deg, rgba(119, 108, 254, 0.14), rgba(160, 60, 255, 0.08)) !important;
}

#buddypress #castory-tab.selected > a,
#buddypress #castory-tab.current > a {
    background: linear-gradient(135deg, #776cfe, #a03cff) !important;
    color: #fff !important;
    border-color: transparent !important;
}

/* Creator Studio subnav — horizontal scroll on mobile */
@media (max-width: 768px) {
    .bp-user.castory #subnav,
    .bp-user.castory .bp-navs.bp-subnavs {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .bp-user.castory #subnav ul,
    .bp-user.castory .bp-navs.bp-subnavs ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 4px;
        min-width: max-content;
    }

    .bp-user.castory #subnav li,
    .bp-user.castory .bp-navs.bp-subnavs li {
        flex: 0 0 auto;
    }

    .bp-user.castory #subnav li a,
    .bp-user.castory .bp-navs.bp-subnavs li a {
        white-space: nowrap;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        padding: 8px 14px !important;
        border-radius: 999px;
    }
}

.castory-stats-crosslink,
.castory-analytics-crosslink {
    margin: 0 0 14px;
    font-size: 0.88rem;
}

.castory-stats-crosslink a,
.castory-analytics-crosslink a {
    color: #a03cff;
    font-weight: 600;
    text-decoration: none;
}

.castory-stats-crosslink a:hover,
.castory-analytics-crosslink a:hover {
    text-decoration: underline;
}
