/* Foro (bbPress): capa visual completa, más legible y alineada con el tema */
body.bbpress #bbpress-forums
{
    --fondeados-foro-bg: #ffffff;
    --fondeados-foro-surface: #f8fafc;
    --fondeados-foro-border: color-mix(in srgb, var(--bs-primary, #0d6efd) 12%, #d7deea);
    --fondeados-foro-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
    --fondeados-foro-title: #0f172a;
    --fondeados-foro-text: #334155;
    --fondeados-foro-muted: #64748b;
    --fondeados-foro-accent-soft: color-mix(in srgb, var(--bs-primary, #0d6efd) 10%, #ffffff);
    max-width: 1120px;
    margin: 0 auto;
    padding: clamp(1rem, 2vw, 1.5rem);
    font-size: 1.05rem;
    color: var(--fondeados-foro-text);
}

body.bbpress #bbpress-forums ul.bbp-forums,
body.bbpress #bbpress-forums ul.bbp-topics,
body.bbpress #bbpress-forums ul.bbp-replies
{
    border: 1px solid var(--fondeados-foro-border);
    border-radius: 1rem;
    overflow: hidden;
    background: var(--fondeados-foro-bg);
    box-shadow: var(--fondeados-foro-shadow);
}

body.bbpress #bbpress-forums li.bbp-header,
body.bbpress #bbpress-forums li.bbp-footer
{
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, var(--fondeados-foro-accent-soft) 0%, #ffffff 100%);
    border-color: var(--fondeados-foro-border);
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--fondeados-foro-title);
}

body.bbpress #bbpress-forums li.bbp-body ul.forum,
body.bbpress #bbpress-forums li.bbp-body ul.topic
{
    margin: 0;
    padding: 1.15rem 1.25rem;
    border-top: 1px solid color-mix(in srgb, var(--fondeados-foro-border) 72%, #ffffff);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

body.bbpress #bbpress-forums li.bbp-body ul.forum:nth-child(even),
body.bbpress #bbpress-forums li.bbp-body ul.topic:nth-child(even)
{
    background: color-mix(in srgb, var(--fondeados-foro-surface) 72%, #ffffff);
}

body.bbpress #bbpress-forums li.bbp-body ul.forum:hover,
body.bbpress #bbpress-forums li.bbp-body ul.topic:hover
{
    background: color-mix(in srgb, var(--bs-primary, #0d6efd) 5%, #ffffff);
}

body.bbpress #bbpress-forums .bbp-forum-title,
body.bbpress #bbpress-forums .bbp-topic-permalink,
body.bbpress #bbpress-forums .bbp-topic-title > a
{
    color: var(--fondeados-foro-title);
    font-size: 1.14rem;
    font-weight: 700;
    text-decoration: none;
}

body.bbpress #bbpress-forums .bbp-forum-title:hover,
body.bbpress #bbpress-forums .bbp-topic-permalink:hover,
body.bbpress #bbpress-forums .bbp-topic-title > a:hover
{
    color: var(--bs-primary, #0d6efd);
}

body.bbpress #bbpress-forums .bbp-forum-content,
body.bbpress #bbpress-forums .bbp-topic-content,
body.bbpress #bbpress-forums .bbp-reply-content
{
    max-width: 76ch;
    font-size: 1.04rem;
    line-height: 1.8;
    color: var(--fondeados-foro-text);
}

body.bbpress #bbpress-forums .bbp-topic-content p,
body.bbpress #bbpress-forums .bbp-reply-content p
{
    margin-bottom: 1rem;
}

body.bbpress #bbpress-forums .bbp-meta,
body.bbpress #bbpress-forums .bbp-forum-info,
body.bbpress #bbpress-forums .bbp-topic-meta,
body.bbpress #bbpress-forums .bbp-reply-post-date,
body.bbpress #bbpress-forums .bbp-topic-freshness a,
body.bbpress #bbpress-forums .bbp-forum-freshness a
{
    font-size: 0.96rem;
    color: var(--fondeados-foro-muted);
}

body.bbpress #bbpress-forums .bbp-topic-content,
body.bbpress #bbpress-forums .bbp-reply-content
{
    margin-left: 0;
}

body.bbpress #bbpress-forums div.bbp-reply-header,
body.bbpress #bbpress-forums div.bbp-topic-header
{
    padding: 0.9rem 1.2rem;
    background: color-mix(in srgb, var(--fondeados-foro-surface) 86%, #ffffff);
    border: 1px solid var(--fondeados-foro-border);
    border-bottom: 0;
    border-radius: 1rem 1rem 0 0;
    font-size: 0.96rem;
}

body.bbpress #bbpress-forums .bbp-body div.bbp-reply-content,
body.bbpress #bbpress-forums .bbp-body div.bbp-topic-content
{
    padding: 1.25rem 1.35rem 1.4rem;
    background: #ffffff;
    border: 1px solid var(--fondeados-foro-border);
    border-top: 0;
    border-radius: 0 0 1rem 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}

body.bbpress #bbpress-forums .bbp-author-name
{
    color: var(--fondeados-foro-title);
    font-weight: 700;
    font-size: 1rem;
}

body.bbpress #bbpress-forums .bbp-author-role,
body.bbpress #bbpress-forums .bbp-author-ip,
body.bbpress #bbpress-forums .bbp-reply-post-date
{
    color: var(--fondeados-foro-muted);
}

body.bbpress #bbpress-forums a
{
    color: var(--bs-link-color, var(--bs-primary, inherit));
}

body.bbpress #bbpress-forums a:hover,
body.bbpress #bbpress-forums a:focus
{
    color: var(--bs-link-hover-color, var(--bs-primary, inherit));
}

body.bbpress #bbpress-forums fieldset.bbp-form
{
    padding: clamp(1.25rem, 2vw, 1.75rem);
    border: 1px solid var(--fondeados-foro-border);
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, var(--fondeados-foro-surface) 100%);
    box-shadow: var(--fondeados-foro-shadow);
}

body.bbpress #bbpress-forums fieldset.bbp-form legend
{
    padding: 0 0.4rem;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--fondeados-foro-title);
}

body.bbpress #bbpress-forums fieldset.bbp-form label
{
    margin-bottom: 0.45rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--fondeados-foro-title);
}

body.bbpress #bbpress-forums input[type="text"],
body.bbpress #bbpress-forums input[type="email"],
body.bbpress #bbpress-forums input[type="url"],
body.bbpress #bbpress-forums input[type="password"],
body.bbpress #bbpress-forums select,
body.bbpress #bbpress-forums textarea
{
    min-height: 48px;
    padding: 0.75rem 0.9rem;
    border: 1px solid color-mix(in srgb, var(--fondeados-foro-border) 75%, #cbd5e1);
    border-radius: 0.75rem;
    background: #ffffff;
    color: var(--fondeados-foro-text);
    font-size: 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body.bbpress #bbpress-forums textarea
{
    min-height: 180px;
}

body.bbpress #bbpress-forums input[type="text"]:focus,
body.bbpress #bbpress-forums input[type="email"]:focus,
body.bbpress #bbpress-forums input[type="url"]:focus,
body.bbpress #bbpress-forums input[type="password"]:focus,
body.bbpress #bbpress-forums select:focus,
body.bbpress #bbpress-forums textarea:focus
{
    outline: 0;
    border-color: var(--bs-primary, #0d6efd);
    box-shadow: 0 0 0 0.24rem color-mix(in srgb, var(--bs-primary, #0d6efd) 18%, transparent);
}

body.bbpress #bbpress-forums button,
body.bbpress #bbpress-forums input[type="submit"]
{
    min-height: 46px;
    padding: 0.75rem 1.2rem;
    border: 1px solid var(--bs-primary, #0d6efd);
    border-radius: 0.8rem;
    background: var(--bs-primary, #0d6efd);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--bs-primary, #0d6efd) 20%, transparent);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body.bbpress #bbpress-forums button:hover,
body.bbpress #bbpress-forums button:focus,
body.bbpress #bbpress-forums input[type="submit"]:hover,
body.bbpress #bbpress-forums input[type="submit"]:focus
{
    background: var(--bs-btn-hover-bg, color-mix(in srgb, var(--bs-primary, #0d6efd) 88%, black));
    border-color: var(--bs-btn-hover-border-color, color-mix(in srgb, var(--bs-primary, #0d6efd) 88%, black));
    color: #ffffff;
    transform: translateY(-1px);
}

body.bbpress #bbpress-forums .bbp-pagination,
body.bbpress #bbpress-forums .bbp-search-form
{
    margin-bottom: 1rem;
    font-size: 0.98rem;
}

body.bbpress #bbpress-forums .bbp-pagination-links a,
body.bbpress #bbpress-forums .bbp-pagination-links span.current
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.4rem;
    height: 2.4rem;
    padding: 0 0.7rem;
    border: 1px solid var(--fondeados-foro-border);
    border-radius: 999px;
    background: #ffffff;
    text-decoration: none;
}

body.bbpress #bbpress-forums .bbp-pagination-links span.current
{
    background: var(--bs-primary, #0d6efd);
    border-color: var(--bs-primary, #0d6efd);
    color: #ffffff;
}

body.bbpress #bbpress-forums .bbp-template-notice,
body.bbpress #bbpress-forums div.indicator-hint
{
    padding: 1rem 1.1rem;
    border: 1px solid color-mix(in srgb, var(--bs-primary, #0d6efd) 20%, #dbeafe);
    border-radius: 0.9rem;
    background: color-mix(in srgb, var(--bs-primary, #0d6efd) 8%, #ffffff);
}

@media (max-width: 991.98px)
{
    body.bbpress #bbpress-forums
    {
        padding: 0.85rem;
        font-size: 1rem;
    }

    body.bbpress #bbpress-forums li.bbp-body ul.forum,
    body.bbpress #bbpress-forums li.bbp-body ul.topic,
    body.bbpress #bbpress-forums .bbp-body div.bbp-reply-content,
    body.bbpress #bbpress-forums .bbp-body div.bbp-topic-content
    {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

@media (max-width: 767.98px)
{
    body.bbpress #bbpress-forums
    {
        font-size: 0.98rem;
    }

    body.bbpress #bbpress-forums .bbp-forum-title,
    body.bbpress #bbpress-forums .bbp-topic-permalink,
    body.bbpress #bbpress-forums .bbp-topic-title > a
    {
        font-size: 1.05rem;
    }

    body.bbpress #bbpress-forums .bbp-forum-content,
    body.bbpress #bbpress-forums .bbp-topic-content,
    body.bbpress #bbpress-forums .bbp-reply-content
    {
        font-size: 1rem;
        line-height: 1.72;
    }
}
