:root {
    --bbcc-marfil: #F8F4ED;
    --bbcc-beige: #EDE3D5;
    --bbcc-text: #242321;
    --bbcc-muted: #6D6258;
    --bbcc-olive: #73745E;
    --bbcc-sand: #B5A795;
    --bbcc-white: #FFFFFF;
    --bbcc-border: rgba(36, 35, 33, 0.13);
    --bbcc-shadow: 0 18px 45px rgba(36, 35, 33, 0.08);
}

.bbcc-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: clamp(24px, 4vw, 56px) 20px;
    color: var(--bbcc-text);
    font-family: inherit;
}

.bbcc-wrap * {
    box-sizing: border-box;
}

.bbcc-hero,
.bbcc-compact-hero,
.bbcc-course-hero {
    background: linear-gradient(135deg, var(--bbcc-marfil), var(--bbcc-beige));
    border: 1px solid var(--bbcc-border);
    border-radius: 28px;
    padding: clamp(30px, 6vw, 72px);
    box-shadow: var(--bbcc-shadow);
}

.bbcc-hero h1,
.bbcc-compact-hero h1,
.bbcc-course-hero h1 {
    margin: 0 0 18px;
    font-size: clamp(2rem, 4.5vw, 4.2rem);
    line-height: 1.03;
    letter-spacing: -0.045em;
    color: var(--bbcc-text);
}

.bbcc-course-hero h1 {
    font-size: clamp(2rem, 4vw, 3.7rem);
}

.bbcc-hero p,
.bbcc-compact-hero p,
.bbcc-course-hero p {
    max-width: 760px;
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    color: var(--bbcc-muted);
    line-height: 1.65;
}

.bbcc-kicker {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--bbcc-olive);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bbcc-actions {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 28px;
}

.bbcc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 20px;
    border-radius: 999px;
    text-decoration: none !important;
    font-weight: 700;
    line-height: 1;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    border: 1px solid transparent;
}

.bbcc-btn:hover {
    transform: translateY(-1px);
}

.bbcc-btn-primary {
    background: var(--bbcc-olive);
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(115, 116, 94, 0.20);
}

.bbcc-btn-secondary {
    background: rgba(255,255,255,0.55);
    color: var(--bbcc-text) !important;
    border-color: var(--bbcc-border);
}

.bbcc-section {
    margin-top: clamp(34px, 6vw, 72px);
}

.bbcc-section-heading {
    max-width: 760px;
    margin-bottom: 22px;
}

.bbcc-section-heading h2,
.bbcc-section h2 {
    margin: 0 0 12px;
    font-size: clamp(1.55rem, 2.5vw, 2.4rem);
    line-height: 1.14;
    letter-spacing: -0.025em;
}

.bbcc-card-grid,
.bbcc-course-grid {
    display: grid;
    gap: 22px;
}

.bbcc-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bbcc-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bbcc-card,
.bbcc-course-card,
.bbcc-soft-card,
.bbcc-module-preview,
.bbcc-faq-item {
    background: rgba(255,255,255,0.72);
    border: 1px solid var(--bbcc-border);
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 12px 30px rgba(36,35,33,0.05);
}

.bbcc-card h3,
.bbcc-course-card h3,
.bbcc-module-preview h3 {
    margin: 10px 0 10px;
    font-size: 1.25rem;
    line-height: 1.25;
}

.bbcc-card p,
.bbcc-course-card p,
.bbcc-module-preview p,
.bbcc-soft-card p {
    color: var(--bbcc-muted);
    line-height: 1.62;
}

.bbcc-soft-panel {
    background: var(--bbcc-beige);
    border: 1px solid var(--bbcc-border);
    border-radius: 28px;
    padding: clamp(24px, 4vw, 42px);
}

.bbcc-resource-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.bbcc-resource-pill,
.bbcc-tag,
.bbcc-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 7px 11px;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
}

.bbcc-resource-pill {
    background: rgba(255,255,255,0.65);
    border: 1px solid var(--bbcc-border);
    color: var(--bbcc-text);
}

.bbcc-tag {
    background: rgba(115,116,94,0.12);
    color: var(--bbcc-olive);
}

.bbcc-status {
    background: rgba(181,167,149,0.18);
    color: var(--bbcc-muted);
}

.bbcc-status-abierta {
    background: rgba(115,116,94,0.16);
    color: var(--bbcc-olive);
}

.bbcc-course-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bbcc-course-card {
    padding: 0;
    overflow: hidden;
}

.bbcc-course-thumb {
    display: block;
    aspect-ratio: 16 / 9;
    background: var(--bbcc-beige);
}

.bbcc-course-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bbcc-course-body {
    padding: 22px;
}

.bbcc-meta-row {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.bbcc-course-card h3 a {
    color: var(--bbcc-text);
    text-decoration: none;
}

.bbcc-subtitle {
    font-weight: 650;
    color: var(--bbcc-text) !important;
}

.bbcc-mini-data {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
}

.bbcc-mini-data span {
    font-size: 0.82rem;
    color: var(--bbcc-muted);
    background: var(--bbcc-marfil);
    border-radius: 999px;
    padding: 7px 10px;
}

.bbcc-filters {
    display: flex;
    gap: 14px;
    align-items: end;
    flex-wrap: wrap;
    margin: 24px 0 30px;
    padding: 18px;
    border-radius: 22px;
    background: var(--bbcc-marfil);
    border: 1px solid var(--bbcc-border);
}

.bbcc-filters label {
    display: grid;
    gap: 6px;
    min-width: 220px;
    color: var(--bbcc-muted);
    font-weight: 700;
    font-size: 0.85rem;
}

.bbcc-filters select {
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid var(--bbcc-border);
    padding: 8px 12px;
    background: #fff;
}

.bbcc-course-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 30px;
    align-items: start;
}

.bbcc-lead {
    font-size: 1.22rem !important;
    color: var(--bbcc-text) !important;
}

.bbcc-course-facts {
    background: rgba(255,255,255,0.72);
    border: 1px solid var(--bbcc-border);
    border-radius: 24px;
    padding: 22px;
    display: grid;
    gap: 14px;
}

.bbcc-course-facts div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(36,35,33,0.10);
}

.bbcc-course-facts div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.bbcc-course-facts span {
    color: var(--bbcc-muted);
}

.bbcc-course-facts strong {
    text-align: right;
}

.bbcc-two-col {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
    gap: 28px;
    align-items: start;
}

.bbcc-list {
    margin: 0;
    padding-left: 1.2em;
    color: var(--bbcc-muted);
    line-height: 1.7;
}

.bbcc-program {
    display: grid;
    gap: 16px;
}

.bbcc-module-preview span {
    color: var(--bbcc-olive);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .75rem;
}

.bbcc-faq {
    display: grid;
    gap: 12px;
}

.bbcc-faq-item summary {
    cursor: pointer;
    font-weight: 800;
    color: var(--bbcc-text);
}

.bbcc-final-cta {
    background: var(--bbcc-text);
    color: #fff;
    border-radius: 28px;
    padding: clamp(26px, 5vw, 48px);
}

.bbcc-final-cta h2,
.bbcc-final-cta p {
    color: #fff;
}

.bbcc-empty {
    padding: 26px;
    border-radius: 20px;
    background: var(--bbcc-marfil);
    border: 1px solid var(--bbcc-border);
    color: var(--bbcc-muted);
}

@media (max-width: 900px) {
    .bbcc-three,
    .bbcc-two,
    .bbcc-course-grid,
    .bbcc-course-hero,
    .bbcc-two-col {
        grid-template-columns: 1fr;
    }

    .bbcc-course-facts div {
        align-items: start;
    }
}

@media (max-width: 560px) {
    .bbcc-wrap {
        padding-inline: 14px;
    }

    .bbcc-hero,
    .bbcc-compact-hero,
    .bbcc-course-hero {
        border-radius: 22px;
        padding: 26px 20px;
    }

    .bbcc-actions,
    .bbcc-filters {
        align-items: stretch;
        flex-direction: column;
    }

    .bbcc-btn,
    .bbcc-filters label {
        width: 100%;
    }

    .bbcc-card,
    .bbcc-course-body,
    .bbcc-soft-card,
    .bbcc-module-preview,
    .bbcc-faq-item {
        padding: 20px;
    }
}

/* v0.2: plantilla propia para Curso Campus */
.bbcc-template-main {
    background: transparent;
}

.bbcc-single-template .bbcc-wrap {
    padding-top: clamp(34px, 5vw, 72px);
    padding-bottom: clamp(44px, 6vw, 86px);
}

.bbcc-course-single {
    display: block;
}

.bbcc-course-single a:not(.bbcc-btn) {
    color: inherit;
}

/* v0.3: landing profesional de venta */
.bbcc-course-hero-v3 {
    position: relative;
    overflow: hidden;
}

.bbcc-course-hero-v3::after {
    content: "";
    position: absolute;
    inset: auto -80px -120px auto;
    width: 280px;
    height: 280px;
    border-radius: 999px;
    background: rgba(181, 167, 149, 0.20);
    pointer-events: none;
}

.bbcc-course-hero-v3 > * {
    position: relative;
    z-index: 1;
}

.bbcc-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.bbcc-hero-badges span,
.bbcc-final-facts span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: .82rem;
    font-weight: 750;
    background: rgba(255,255,255,.65);
    border: 1px solid var(--bbcc-border);
    color: var(--bbcc-muted);
}

.bbcc-enroll-card {
    align-self: stretch;
    background: rgba(255,255,255,.82);
}

.bbcc-enroll-button {
    width: 100%;
    margin-top: 6px;
}

.bbcc-enroll-note {
    margin: 0;
    color: var(--bbcc-muted);
    font-size: .92rem !important;
    line-height: 1.45 !important;
}

.bbcc-anchor-nav {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin: 22px auto 0;
    padding: 10px;
    max-width: 960px;
    border: 1px solid var(--bbcc-border);
    border-radius: 999px;
    background: rgba(248,244,237,.88);
    backdrop-filter: blur(8px);
    box-shadow: 0 8px 20px rgba(36,35,33,.05);
}

.admin-bar .bbcc-anchor-nav {
    top: 32px;
}

.bbcc-anchor-nav a {
    border-radius: 999px;
    padding: 8px 12px;
    text-decoration: none !important;
    color: var(--bbcc-muted) !important;
    font-weight: 750;
    font-size: .85rem;
}

.bbcc-anchor-nav a:hover {
    background: rgba(115,116,94,.12);
    color: var(--bbcc-text) !important;
}

.bbcc-intro-section {
    align-items: stretch;
}

.bbcc-method-card {
    background: rgba(255,255,255,.78);
}

.bbcc-feature-card {
    min-height: 100%;
}

.bbcc-feature-card .bbcc-list li + li {
    margin-top: 7px;
}

.bbcc-platform-panel {
    background: linear-gradient(135deg, rgba(237,227,213,.78), rgba(248,244,237,.92));
    border: 1px solid var(--bbcc-border);
    border-radius: 28px;
    padding: clamp(24px, 4vw, 44px);
}

.bbcc-platform-panel .bbcc-section-heading p,
.bbcc-resources-panel .bbcc-section-heading p,
.bbcc-program-section .bbcc-section-heading p {
    margin: 0;
    color: var(--bbcc-muted);
    line-height: 1.65;
}

.bbcc-aula-card {
    background: rgba(255,255,255,.72);
}

.bbcc-card-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--bbcc-olive);
    color: #fff;
    font-size: .82rem;
    font-weight: 800;
    margin-bottom: 10px;
}

.bbcc-resource-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.bbcc-resource-card {
    min-height: 92px;
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.70);
    border: 1px solid var(--bbcc-border);
    box-shadow: 0 8px 18px rgba(36,35,33,.035);
}

.bbcc-resource-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    width: max-content;
    height: 34px;
    padding: 0 9px;
    border-radius: 999px;
    background: rgba(115,116,94,.13);
    color: var(--bbcc-olive);
    font-size: .78rem;
    font-weight: 850;
}

.bbcc-resource-card strong {
    line-height: 1.25;
    color: var(--bbcc-text);
}

.bbcc-program-section .bbcc-module-preview {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    padding: 24px 28px;
}

.bbcc-program-section .bbcc-module-preview span {
    display: inline-flex;
    justify-content: center;
    border-radius: 999px;
    padding: 9px 12px;
    background: rgba(115,116,94,.12);
}

.bbcc-program-section .bbcc-module-preview h3 {
    margin-top: 0;
}

.bbcc-teacher-card h2 {
    font-size: clamp(1.45rem, 2vw, 2rem);
}

.bbcc-closing-grid {
    align-items: stretch;
}

.bbcc-final-cta-soft {
    background: linear-gradient(135deg, #242321, #3d3934);
    box-shadow: var(--bbcc-shadow);
}

.bbcc-final-cta-soft .bbcc-kicker {
    color: var(--bbcc-sand);
}

.bbcc-final-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 22px 0;
}

.bbcc-final-facts span {
    background: rgba(255,255,255,.12);
    color: #fff;
    border-color: rgba(255,255,255,.22);
}

.bbcc-faq-card {
    background: rgba(255,255,255,.74);
    border: 1px solid var(--bbcc-border);
    border-radius: 28px;
    padding: clamp(24px, 4vw, 40px);
    box-shadow: 0 12px 30px rgba(36,35,33,.045);
}

.bbcc-faq-card .bbcc-faq-item {
    box-shadow: none;
    background: rgba(248,244,237,.70);
}

@media (max-width: 900px) {
    .bbcc-resource-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bbcc-program-section .bbcc-module-preview {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .bbcc-anchor-nav {
        position: relative;
        top: auto;
        border-radius: 22px;
        justify-content: flex-start;
    }
    .admin-bar .bbcc-anchor-nav {
        top: auto;
    }
    .bbcc-anchor-nav a {
        flex: 1 1 auto;
        text-align: center;
    }
    .bbcc-resource-card-grid {
        grid-template-columns: 1fr;
    }
}

/* v0.3.1: refinamiento de landing, navegación y lectura del programa */
.bbcc-course-single {
    max-width: 1120px;
}

.bbcc-course-single .bbcc-section {
    scroll-margin-top: 118px;
}

.bbcc-course-hero-v3 {
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .82fr);
    gap: clamp(28px, 4vw, 58px);
    padding: clamp(38px, 5vw, 68px);
    margin-bottom: 26px;
}

.bbcc-course-hero-v3 .bbcc-course-hero-main {
    max-width: 680px;
}

.bbcc-course-hero-v3 .bbcc-course-hero-main > p:not(.bbcc-lead) {
    max-width: 620px;
}

.bbcc-course-hero-v3 .bbcc-enroll-card {
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 16px 34px rgba(36, 35, 33, 0.07);
}

.bbcc-course-hero-v3 .bbcc-course-facts div {
    font-size: .95rem;
}

.bbcc-course-hero-v3 .bbcc-course-facts strong {
    max-width: 155px;
}

.bbcc-hero-badges span {
    background: rgba(255,255,255,.78);
    padding: 9px 13px;
}

.bbcc-anchor-nav {
    max-width: 980px;
    margin-top: 26px;
    margin-bottom: 6px;
    padding: 8px;
    border-radius: 18px;
    justify-content: space-between;
}

.bbcc-anchor-nav a {
    flex: 1 1 auto;
    text-align: center;
    padding: 10px 14px;
}

.bbcc-intro-section {
    grid-template-columns: minmax(0, 1.45fr) minmax(310px, .72fr);
    gap: clamp(32px, 4vw, 58px);
}

.bbcc-intro-section > div:first-child {
    padding: 8px 0;
}

.bbcc-intro-section p,
.bbcc-method-card p,
.bbcc-cert-card p,
.bbcc-teacher-card p,
.bbcc-final-cta p,
.bbcc-faq-card p {
    font-size: 1rem;
    line-height: 1.78;
}

.bbcc-objectives-section {
    gap: 24px;
}

.bbcc-objectives-section .bbcc-card {
    padding: clamp(26px, 3vw, 38px);
}

.bbcc-feature-card .bbcc-list {
    padding-left: 1.1rem;
}

.bbcc-feature-card .bbcc-list li {
    line-height: 1.7;
}

.bbcc-platform-panel,
.bbcc-resources-panel {
    margin-top: clamp(42px, 6vw, 76px);
}

.bbcc-platform-panel .bbcc-three {
    gap: 18px;
}

.bbcc-aula-card,
.bbcc-resource-card {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.bbcc-aula-card:hover,
.bbcc-resource-card:hover,
.bbcc-module-preview:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(36,35,33,.075);
    border-color: rgba(115,116,94,.28);
}

.bbcc-resource-card-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.bbcc-resource-card {
    min-height: 106px;
    padding: 18px 16px;
}

.bbcc-program-section .bbcc-section-heading {
    max-width: 820px;
}

.bbcc-program {
    gap: 18px;
}

.bbcc-program-section .bbcc-module-preview {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    padding: clamp(22px, 3vw, 34px);
    background: rgba(255,255,255,.78);
}

.bbcc-program-section .bbcc-module-preview .bbcc-module-index {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: max-content;
    max-width: 100%;
    border-radius: 999px;
    padding: 10px 14px;
    background: rgba(115,116,94,.13);
    color: var(--bbcc-olive);
    white-space: nowrap;
}

.bbcc-program-section .bbcc-module-content {
    grid-column: 2;
    min-width: 0;
}

.bbcc-program-section .bbcc-module-content h3 {
    margin: 0 0 12px;
    font-size: clamp(1.05rem, 1.5vw, 1.35rem);
    line-height: 1.3;
}

.bbcc-program-section .bbcc-module-content p {
    max-width: 760px;
    margin: 0;
    color: var(--bbcc-muted);
    font-size: .98rem;
    line-height: 1.72;
}

.bbcc-closing-grid {
    gap: 24px;
    margin-top: clamp(44px, 6vw, 78px);
}

.bbcc-final-cta-soft {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.bbcc-faq-card .bbcc-faq-item {
    border-radius: 16px;
    padding: 18px 20px;
}

.bbcc-faq-item summary {
    line-height: 1.35;
}

@media (max-width: 1100px) {
    .bbcc-resource-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .bbcc-course-hero-v3,
    .bbcc-intro-section {
        grid-template-columns: 1fr;
    }
    .bbcc-course-hero-v3 .bbcc-course-hero-main {
        max-width: none;
    }
    .bbcc-anchor-nav {
        border-radius: 22px;
        justify-content: flex-start;
    }
    .bbcc-anchor-nav a {
        flex: 1 1 calc(33.33% - 8px);
    }
}

@media (max-width: 720px) {
    .bbcc-resource-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bbcc-program-section .bbcc-module-preview {
        grid-template-columns: 1fr;
    }
    .bbcc-program-section .bbcc-module-preview .bbcc-module-index,
    .bbcc-program-section .bbcc-module-content {
        grid-column: 1;
        grid-row: auto;
    }
}

@media (max-width: 520px) {
    .bbcc-resource-card-grid,
    .bbcc-anchor-nav a {
        grid-template-columns: 1fr;
    }
    .bbcc-anchor-nav a {
        flex-basis: 100%;
    }
}

/* v0.4.0: cierre visual de la landing pública de venta */
.bbcc-course-single {
    max-width: 1140px;
}

.bbcc-course-hero-v3 {
    border-radius: 30px;
    box-shadow: 0 22px 54px rgba(36,35,33,.09);
}

.bbcc-course-hero-v3 .bbcc-course-hero-main .bbcc-kicker,
.bbcc-course-hero-v3 .bbcc-enroll-card span {
    letter-spacing: .09em;
}

.bbcc-course-hero-v3 .bbcc-course-hero-main h1 {
    max-width: 720px;
}

.bbcc-enroll-card {
    border-color: rgba(115,116,94,.18);
}

.bbcc-enroll-card .bbcc-btn-primary,
.bbcc-final-cta-soft .bbcc-btn-primary {
    background: #6f705c;
}

.bbcc-anchor-nav {
    background: rgba(248,244,237,.94);
    border-color: rgba(36,35,33,.16);
}

.bbcc-anchor-nav a {
    font-size: .82rem;
    letter-spacing: .01em;
}

.bbcc-narrative-block {
    padding: clamp(18px, 3vw, 30px) clamp(18px, 3vw, 32px);
    border-left: 3px solid rgba(115,116,94,.36);
    background: rgba(255,255,255,.38);
    border-radius: 0 22px 22px 0;
}

.bbcc-narrative-block p:first-of-type {
    font-size: 1.04rem;
    color: var(--bbcc-text);
}

.bbcc-method-card,
.bbcc-feature-card,
.bbcc-cert-card,
.bbcc-teacher-card,
.bbcc-faq-card {
    border-color: rgba(36,35,33,.14);
}

.bbcc-objectives-section .bbcc-card h2,
.bbcc-platform-panel h2,
.bbcc-resources-panel h2,
.bbcc-program-section h2,
.bbcc-closing-grid h2 {
    letter-spacing: -0.022em;
}

.bbcc-feature-card .bbcc-list li::marker {
    color: var(--bbcc-olive);
}

.bbcc-platform-panel {
    box-shadow: 0 14px 36px rgba(36,35,33,.045);
}

.bbcc-aula-card h3,
.bbcc-resource-card strong {
    font-size: .98rem;
}

.bbcc-card-mark {
    background: linear-gradient(135deg, #73745E, #5F5A53);
}

.bbcc-resource-card-grid {
    align-items: stretch;
}

.bbcc-resource-card {
    min-height: 104px;
    background: rgba(255,255,255,.78);
}

.bbcc-resource-card span {
    min-width: 32px;
    height: 30px;
    font-size: .72rem;
}

.bbcc-program-section .bbcc-module-preview {
    border-left: 4px solid rgba(115,116,94,.20);
}

.bbcc-program-section .bbcc-module-preview .bbcc-module-index {
    background: rgba(115,116,94,.15);
    color: #5F5A53;
}

.bbcc-program-section .bbcc-module-content h3 {
    color: #1f2c35;
}

.bbcc-final-cta-soft {
    background: linear-gradient(135deg, #5F5A53, #73745E);
    color: #fff;
}

.bbcc-final-cta-soft p {
    color: rgba(255,255,255,.88);
}

.bbcc-final-cta-soft .bbcc-btn-primary {
    background: rgba(255,255,255,.88);
    color: #242321 !important;
    box-shadow: none;
}

.bbcc-faq-item summary {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.bbcc-faq-item summary::-webkit-details-marker {
    display: none;
}

.bbcc-faq-item summary::before {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: rgba(115,116,94,.14);
    color: var(--bbcc-olive);
    font-weight: 850;
}

.bbcc-faq-item[open] summary::before {
    content: "−";
}

@media (max-width: 900px) {
    .bbcc-narrative-block {
        border-left: 0;
        border-top: 3px solid rgba(115,116,94,.28);
        border-radius: 22px;
    }
}


/* v0.4.1: programa en acordeón y navegación interna más cómoda */
.bbcc-course-single .bbcc-section {
    scroll-margin-top: 138px;
}

.bbcc-program {
    gap: 12px;
}

.bbcc-program-section .bbcc-module-preview.bbcc-module-accordion {
    display: block;
    padding: 0;
    overflow: hidden;
    border-left: 0;
    background: rgba(255,255,255,.82);
    transition: box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.bbcc-program-section .bbcc-module-preview.bbcc-module-accordion:hover {
    transform: none;
}

.bbcc-module-summary {
    list-style: none;
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr) 34px;
    gap: 18px;
    align-items: center;
    padding: 22px 26px;
    cursor: pointer;
}

.bbcc-module-summary::-webkit-details-marker {
    display: none;
}

.bbcc-program-section .bbcc-module-preview .bbcc-module-index {
    grid-column: auto;
    grid-row: auto;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: max-content;
    max-width: 100%;
    border-radius: 999px;
    padding: 10px 14px;
    background: rgba(115,116,94,.13);
    color: #5F5A53;
    white-space: nowrap;
}

.bbcc-module-title {
    color: #1f2c35;
    font-size: clamp(1.05rem, 1.45vw, 1.32rem);
    line-height: 1.28;
    font-weight: 700;
    font-family: inherit;
}

.bbcc-module-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(115,116,94,.12);
    color: var(--bbcc-olive);
    font-weight: 850;
}

.bbcc-module-toggle::before {
    content: "+";
    font-size: 1.15rem;
    line-height: 1;
}

.bbcc-module-accordion[open] .bbcc-module-toggle::before {
    content: "−";
}

.bbcc-program-section .bbcc-module-accordion .bbcc-module-content {
    grid-column: auto;
    min-width: 0;
    padding: 0 26px 24px 172px;
}

.bbcc-program-section .bbcc-module-accordion .bbcc-module-content p {
    max-width: 760px;
    margin: 0;
    color: var(--bbcc-muted);
    font-size: 1rem;
    line-height: 1.74;
}

.bbcc-program-section .bbcc-module-accordion[open] {
    border-color: rgba(115,116,94,.30);
    box-shadow: 0 16px 34px rgba(36,35,33,.07);
}

.bbcc-program-section .bbcc-module-accordion[open] .bbcc-module-summary {
    padding-bottom: 14px;
}

.bbcc-anchor-nav a:focus-visible,
.bbcc-module-summary:focus-visible {
    outline: 2px solid rgba(115,116,94,.55);
    outline-offset: 3px;
}

@media (max-width: 720px) {
    .bbcc-module-summary {
        grid-template-columns: 1fr 34px;
        gap: 12px;
        padding: 20px;
    }

    .bbcc-program-section .bbcc-module-preview .bbcc-module-index {
        grid-column: 1 / -1;
    }

    .bbcc-module-title {
        grid-column: 1;
    }

    .bbcc-module-toggle {
        grid-column: 2;
        grid-row: 2;
    }

    .bbcc-program-section .bbcc-module-accordion .bbcc-module-content {
        padding: 0 20px 22px;
    }
}

/* v0.4.2: presentación y modalidad más integradas */
.bbcc-overview-section {
    grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
    gap: clamp(28px, 4vw, 52px);
    align-items: start;
    padding: clamp(28px, 4vw, 46px);
    border: 1px solid rgba(36,35,33,.12);
    border-radius: 30px;
    background: linear-gradient(135deg, rgba(255,255,255,.58), rgba(248,244,237,.72));
    box-shadow: 0 14px 36px rgba(36,35,33,.04);
}

.bbcc-overview-section .bbcc-narrative-block {
    padding: 0;
    border-left: 0;
    background: transparent;
    border-radius: 0;
}

.bbcc-overview-section .bbcc-narrative-block h2 {
    margin: 0 0 20px;
    font-size: clamp(1.65rem, 2.4vw, 2.45rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
    color: var(--bbcc-text);
}

.bbcc-overview-section .bbcc-narrative-block p {
    max-width: 820px;
    color: var(--bbcc-muted);
    font-size: clamp(.98rem, 1.05vw, 1.08rem);
    line-height: 1.72;
}

.bbcc-overview-section .bbcc-narrative-block p:first-of-type {
    color: var(--bbcc-text);
    font-size: clamp(1rem, 1.12vw, 1.12rem);
}

.bbcc-overview-section .bbcc-method-card {
    align-self: start;
    padding: clamp(24px, 3vw, 34px);
    background: rgba(255,255,255,.82);
    border-radius: 26px;
    box-shadow: 0 16px 34px rgba(36,35,33,.055);
}

.bbcc-overview-section .bbcc-method-card h3 {
    margin-top: 0;
    margin-bottom: 18px;
    font-size: clamp(1.35rem, 1.8vw, 1.85rem);
    line-height: 1.18;
}

.bbcc-overview-section .bbcc-method-card p {
    font-size: clamp(.96rem, 1vw, 1.03rem);
    line-height: 1.68;
}

@media (max-width: 900px) {
    .bbcc-overview-section {
        grid-template-columns: 1fr;
        padding: 24px;
        border-radius: 24px;
    }
}

/* v0.4.5: bloque opcional de video/flyer e íconos refinados para recursos */
.bbcc-media-section {
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(36,35,33,.12);
    border-radius: 30px;
    background: rgba(255,255,255,.50);
    box-shadow: 0 14px 36px rgba(36,35,33,.04);
}

.bbcc-media-grid {
    display: grid;
    gap: 22px;
    align-items: start;
}

.bbcc-media-grid-two {
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
}

.bbcc-media-grid-one {
    grid-template-columns: minmax(0, 1fr);
}

.bbcc-media-card {
    background: rgba(255,255,255,.78);
    border: 1px solid var(--bbcc-border);
    border-radius: 24px;
    padding: clamp(20px, 3vw, 28px);
    box-shadow: 0 12px 30px rgba(36,35,33,.045);
}

.bbcc-media-card h3 {
    margin: 0 0 18px;
    font-size: clamp(1.2rem, 1.8vw, 1.7rem);
    line-height: 1.2;
}

.bbcc-video-embed {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 18px;
    background: var(--bbcc-beige);
    border: 1px solid rgba(36,35,33,.10);
}

.bbcc-video-embed iframe,
.bbcc-video-embed embed,
.bbcc-video-embed object,
.bbcc-video-embed video {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

.bbcc-flyer-card img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 18px;
    border: 1px solid rgba(36,35,33,.10);
    box-shadow: 0 12px 28px rgba(36,35,33,.06);
}

.bbcc-flyer-card a {
    display: block;
    text-decoration: none !important;
}

.bbcc-resource-card .bbcc-resource-icon {
    width: 34px;
    min-width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 999px;
    background: rgba(115,116,94,.13);
    color: var(--bbcc-olive);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.bbcc-resource-icon svg {
    display: block;
    width: 18px;
    height: 18px;
}

@media (max-width: 900px) {
    .bbcc-media-grid-two {
        grid-template-columns: 1fr;
    }
}

/* v0.4.6: audiovisual embebido, imagen destacada opcional y cierre de inscripción más integrado */
.bbcc-media-section .bbcc-section-heading p {
    display: none;
}

.bbcc-media-section {
    background: rgba(255,255,255,.62);
}

.bbcc-media-grid-one {
    max-width: 980px;
    margin-inline: auto;
}

.bbcc-media-card {
    padding: clamp(18px, 2.5vw, 26px);
}

.bbcc-media-card .bbcc-kicker {
    margin-bottom: 8px;
}

.bbcc-media-card h3 {
    margin-bottom: 16px;
}

.bbcc-video-embed {
    max-width: 100%;
    aspect-ratio: 16 / 9;
}

.bbcc-flyer-card img {
    max-height: 520px;
    object-fit: contain;
    background: rgba(248,244,237,.72);
}

.bbcc-final-cta-soft {
    background: linear-gradient(135deg, #5F5A53, #777866);
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
}

.bbcc-final-cta-soft h2 {
    margin-bottom: 0;
    font-size: clamp(1.75rem, 2.6vw, 2.65rem);
    line-height: 1.08;
}

.bbcc-final-cta-soft p {
    margin: 0;
    max-width: 520px;
    font-size: clamp(.98rem, 1.08vw, 1.08rem);
    line-height: 1.65;
}

.bbcc-final-facts-labeled {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 6px 0 0;
}

.bbcc-final-facts-labeled span {
    display: block;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
}

.bbcc-final-facts-labeled small {
    display: block;
    margin-bottom: 5px;
    color: rgba(255,255,255,.72);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bbcc-final-facts-labeled strong {
    display: block;
    color: #fff;
    font-size: 1rem;
    line-height: 1.25;
}

.bbcc-final-cta-soft .bbcc-btn-primary {
    margin-top: 4px;
    width: 100%;
    min-height: 52px;
}

@media (max-width: 720px) {
    .bbcc-final-facts-labeled {
        grid-template-columns: 1fr;
    }

    .bbcc-flyer-card img {
        max-height: 420px;
    }
}

/* v0.4.7: orden final más limpio: FAQ, presentación audiovisual e inscripción */
.bbcc-faq-section {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}

.bbcc-faq-card-wide {
    width: 100%;
}

.bbcc-media-section-clean {
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    background: rgba(255,255,255,.60);
}

.bbcc-media-section-clean .bbcc-section-heading {
    margin-bottom: 24px;
}

.bbcc-media-section-clean .bbcc-section-heading h2 {
    margin-bottom: 0;
}

.bbcc-media-section-clean .bbcc-media-card {
    padding: clamp(14px, 2vw, 20px);
    background: rgba(255,255,255,.78);
}

.bbcc-media-section-clean .bbcc-media-card .bbcc-kicker,
.bbcc-media-section-clean .bbcc-media-card h3 {
    display: none;
}

.bbcc-media-section-clean .bbcc-media-grid-two {
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
    align-items: stretch;
}

.bbcc-media-section-clean .bbcc-video-card,
.bbcc-media-section-clean .bbcc-flyer-card {
    display: flex;
    align-items: center;
    justify-content: center;
}

.bbcc-media-section-clean .bbcc-flyer-card img {
    width: auto;
    max-width: 100%;
    max-height: 420px;
    object-fit: contain;
}

.bbcc-final-cta-section {
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}

.bbcc-final-cta-section .bbcc-final-cta-soft {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
    align-items: center;
    gap: clamp(26px, 4vw, 52px);
    min-height: 0;
    padding: clamp(30px, 4vw, 54px);
}

.bbcc-final-copy p {
    max-width: 640px;
}

.bbcc-final-action {
    display: grid;
    gap: 16px;
}

.bbcc-final-action .bbcc-final-facts-labeled {
    margin: 0;
}

@media (max-width: 900px) {
    .bbcc-media-section-clean .bbcc-media-grid-two,
    .bbcc-final-cta-section .bbcc-final-cta-soft {
        grid-template-columns: 1fr;
    }

    .bbcc-media-section-clean .bbcc-flyer-card img {
        max-height: 380px;
    }
}

/* v0.5.0: acceso de alumnos y panel inicial Mi Campus */
.bbcc-access-wrap,
.bbcc-dashboard-wrap {
    max-width: 1120px;
}

.bbcc-access-hero,
.bbcc-dashboard-hero {
    border: 1px solid var(--bbcc-border);
    border-radius: 30px;
    padding: clamp(34px, 5vw, 62px);
    background: linear-gradient(135deg, rgba(237,227,213,.86), rgba(248,244,237,.94));
    box-shadow: var(--bbcc-shadow);
}

.bbcc-access-hero h1,
.bbcc-dashboard-hero h1 {
    margin: 0 0 16px;
    font-size: clamp(2rem, 4vw, 3.6rem);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.bbcc-access-hero p,
.bbcc-dashboard-hero p {
    max-width: 720px;
    color: var(--bbcc-muted);
    line-height: 1.7;
    font-size: clamp(1rem, 1.2vw, 1.12rem);
}

.bbcc-access-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
    gap: 24px;
    align-items: stretch;
}

.bbcc-login-card,
.bbcc-access-help {
    padding: clamp(26px, 4vw, 42px);
}

.bbcc-login-card h2,
.bbcc-access-help h2,
.bbcc-empty-large h2 {
    margin: 0 0 16px;
    font-size: clamp(1.55rem, 2.5vw, 2.35rem);
    line-height: 1.12;
}

.bbcc-login-card form {
    display: grid;
    gap: 16px;
    margin-top: 22px;
}

.bbcc-login-card form p {
    margin: 0;
}

.bbcc-login-card label {
    display: grid;
    gap: 8px;
    color: var(--bbcc-muted);
    font-weight: 700;
}

.bbcc-login-card input[type="text"],
.bbcc-login-card input[type="password"] {
    min-height: 48px;
    border-radius: 14px;
    border: 1px solid var(--bbcc-border);
    padding: 10px 14px;
    background: rgba(255,255,255,.86);
    width: 100%;
}

.bbcc-login-card input[type="submit"] {
    min-height: 48px;
    border-radius: 999px;
    border: 0;
    padding: 12px 20px;
    background: var(--bbcc-olive);
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.bbcc-login-card .login-remember label {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bbcc-login-links {
    margin-top: 18px;
}

.bbcc-login-links a {
    color: var(--bbcc-muted) !important;
    font-weight: 700;
}

.bbcc-dashboard-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 28px;
    align-items: center;
}

.bbcc-dashboard-summary {
    min-height: 170px;
    border-radius: 24px;
    border: 1px solid var(--bbcc-border);
    background: rgba(255,255,255,.72);
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 8px;
    text-align: center;
}

.bbcc-dashboard-summary span {
    color: var(--bbcc-muted);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bbcc-dashboard-summary strong {
    font-size: 3.4rem;
    line-height: 1;
    color: var(--bbcc-text);
}

.bbcc-continue-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    border-radius: 28px;
    border: 1px solid rgba(115,116,94,.20);
    background: linear-gradient(135deg, rgba(255,255,255,.80), rgba(237,227,213,.70));
    padding: clamp(26px, 4vw, 44px);
    box-shadow: 0 14px 36px rgba(36,35,33,.055);
}

.bbcc-continue-card h2 {
    margin: 0 0 12px;
    font-size: clamp(1.65rem, 2.8vw, 2.6rem);
    line-height: 1.1;
}

.bbcc-continue-card p {
    max-width: 720px;
    margin: 0;
    color: var(--bbcc-muted);
    line-height: 1.65;
}

.bbcc-student-course-grid {
    display: grid;
    gap: 18px;
}

.bbcc-student-course-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
    gap: 22px;
    align-items: center;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid var(--bbcc-border);
    border-radius: 26px;
    background: rgba(255,255,255,.76);
    box-shadow: 0 12px 28px rgba(36,35,33,.045);
}

.bbcc-student-course-card h3 {
    margin: 12px 0 10px;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.18;
}

.bbcc-student-course-card p {
    color: var(--bbcc-muted);
    line-height: 1.65;
}

.bbcc-student-course-actions {
    display: grid;
    gap: 10px;
}

.bbcc-student-course-actions .bbcc-btn {
    width: 100%;
}

.bbcc-dashboard-tools {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.bbcc-tool-card {
    display: grid;
    gap: 6px;
    padding: 22px;
    border: 1px solid var(--bbcc-border);
    border-radius: 22px;
    background: rgba(255,255,255,.68);
    text-decoration: none !important;
    color: var(--bbcc-text) !important;
}

.bbcc-tool-card strong {
    font-size: 1.05rem;
}

.bbcc-tool-card span {
    color: var(--bbcc-muted);
}

.bbcc-empty-large {
    padding: clamp(28px, 5vw, 54px);
}

.bbcc-empty-large h2 {
    max-width: 680px;
}

.bbcc-empty-large p {
    max-width: 680px;
    color: var(--bbcc-muted);
    line-height: 1.7;
}

@media (max-width: 900px) {
    .bbcc-access-grid,
    .bbcc-dashboard-hero,
    .bbcc-continue-card,
    .bbcc-student-course-card,
    .bbcc-dashboard-tools {
        grid-template-columns: 1fr;
    }

    .bbcc-dashboard-summary {
        min-height: 120px;
    }
}


/* v0.5.1: ajuste visual para páginas privadas y formularios de acceso */
body.bbcc-has-campus-shortcode .entry-title,
body.bbcc-has-campus-shortcode .page-title,
body.bbcc-has-campus-shortcode .wp-block-post-title,
body.bbcc-has-campus-shortcode .post-title,
body.bbcc-has-campus-shortcode .entry-header,
body.bbcc-has-campus-shortcode .page-header {
    display: none !important;
}

body.bbcc-page-access .bbcc-wrap,
body.bbcc-page-dashboard .bbcc-wrap {
    padding-top: clamp(34px, 5vw, 70px);
    padding-bottom: clamp(44px, 6vw, 84px);
}

.bbcc-access-wrap,
.bbcc-dashboard-wrap {
    max-width: 1040px;
}

.bbcc-access-hero,
.bbcc-dashboard-hero {
    border-radius: 32px;
    padding: clamp(34px, 5vw, 64px);
}

.bbcc-access-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .78fr);
}

.bbcc-login-card form {
    gap: 18px;
}

.bbcc-login-card input[type="text"],
.bbcc-login-card input[type="password"] {
    font-size: 1rem;
    color: var(--bbcc-text);
}

.bbcc-login-card input[type="checkbox"] {
    appearance: auto;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    border-radius: 4px;
}

.bbcc-login-card .login-remember {
    display: flex;
    align-items: center;
    margin-top: -2px;
}

.bbcc-login-card .login-remember label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 650;
    color: var(--bbcc-muted);
}

.bbcc-login-card .login-submit input[type="submit"],
.bbcc-login-card input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    opacity: 1 !important;
    background: var(--bbcc-olive) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 10px 24px rgba(115,116,94,.18);
}

.bbcc-access-help p,
.bbcc-dashboard-wrap p {
    line-height: 1.72;
}

.bbcc-dashboard-wrap .bbcc-section {
    margin-top: clamp(26px, 4vw, 46px);
}

.bbcc-dashboard-hero {
    grid-template-columns: minmax(0, 1fr) 160px;
}

.bbcc-dashboard-summary {
    min-height: 150px;
}

.bbcc-dashboard-tools {
    margin-top: clamp(24px, 4vw, 42px);
}

.bbcc-tool-card:hover,
.bbcc-student-course-card:hover,
.bbcc-continue-card:hover {
    border-color: rgba(115,116,94,.28);
    box-shadow: 0 16px 34px rgba(36,35,33,.07);
}

@media (max-width: 900px) {
    .bbcc-access-grid,
    .bbcc-dashboard-hero {
        grid-template-columns: 1fr;
    }
    .bbcc-dashboard-summary {
        min-height: 110px;
        justify-items: start;
        text-align: left;
        padding: 22px;
    }
}

/* v0.6.0: aula interna inicial organizada por módulos */
body.bbcc-page-room .bbcc-wrap {
    padding-top: clamp(34px, 5vw, 70px);
    padding-bottom: clamp(44px, 6vw, 84px);
}

.bbcc-room-wrap {
    max-width: 1180px;
}

.bbcc-room-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 18px;
    color: var(--bbcc-muted);
    font-weight: 650;
}

.bbcc-room-breadcrumb a {
    color: var(--bbcc-olive) !important;
    text-decoration: none !important;
}

.bbcc-room-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: clamp(22px, 4vw, 42px);
    align-items: stretch;
    padding: clamp(34px, 5vw, 70px);
    border: 1px solid var(--bbcc-border);
    border-radius: 34px;
    background:
        radial-gradient(circle at right bottom, rgba(181,167,149,.22), transparent 28%),
        linear-gradient(135deg, rgba(248,244,237,.95), rgba(237,227,213,.68));
    box-shadow: 0 22px 50px rgba(36,35,33,.07);
}

.bbcc-room-hero-simple {
    grid-template-columns: 1fr;
}

.bbcc-room-hero h1 {
    margin: 0;
    font-size: clamp(2.6rem, 5vw, 5.4rem);
    line-height: .98;
    letter-spacing: -.04em;
}

.bbcc-room-hero p {
    max-width: 760px;
    margin: 22px 0 0;
    font-size: clamp(1.05rem, 1.45vw, 1.34rem);
    line-height: 1.7;
    color: var(--bbcc-muted);
}

.bbcc-room-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.bbcc-room-summary-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 20px;
    border: 1px solid var(--bbcc-border);
    border-radius: 26px;
    background: rgba(255,255,255,.78);
    align-content: start;
}

.bbcc-room-summary-card div {
    min-height: 112px;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 18px;
    border-radius: 20px;
    background: rgba(248,244,237,.82);
    border: 1px solid rgba(36,35,33,.06);
}

.bbcc-room-summary-card span {
    color: var(--bbcc-muted);
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .72rem;
}

.bbcc-room-summary-card strong {
    font-size: 2.1rem;
    line-height: 1;
}

.bbcc-room-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: 22px;
    align-items: stretch;
    margin-top: clamp(28px, 4vw, 54px);
}

.bbcc-room-intro > div:first-child,
.bbcc-room-note {
    padding: clamp(26px, 4vw, 44px);
    border: 1px solid var(--bbcc-border);
    border-radius: 28px;
    background: rgba(255,255,255,.7);
    box-shadow: 0 14px 32px rgba(36,35,33,.045);
}

.bbcc-room-intro h2 {
    margin: 8px 0 0;
    font-size: clamp(2rem, 3vw, 3.5rem);
    line-height: 1.06;
}

.bbcc-room-intro p {
    max-width: 760px;
    color: var(--bbcc-muted);
    font-size: 1.08rem;
    line-height: 1.7;
}

.bbcc-room-note {
    display: grid;
    align-content: center;
    gap: 8px;
}

.bbcc-room-note strong {
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--bbcc-olive);
}

.bbcc-room-note span {
    font-size: 1.3rem;
}

.bbcc-room-modules {
    margin-top: clamp(32px, 5vw, 70px);
}

.bbcc-module-accordion {
    display: grid;
    gap: 18px;
}

.bbcc-module-detail {
    border: 1px solid var(--bbcc-border);
    border-radius: 28px;
    background: rgba(255,255,255,.78);
    overflow: hidden;
    box-shadow: 0 14px 30px rgba(36,35,33,.045);
}

.bbcc-module-detail summary {
    cursor: pointer;
    list-style: none;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) minmax(180px, auto);
    gap: 20px;
    align-items: center;
    padding: clamp(20px, 3vw, 32px);
}

.bbcc-module-detail summary::-webkit-details-marker {
    display: none;
}

.bbcc-module-index {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    background: var(--bbcc-soft);
    color: var(--bbcc-olive);
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .78rem;
}

.bbcc-module-title {
    font-family: var(--bbcc-serif);
    font-size: clamp(1.35rem, 2vw, 2.2rem);
    line-height: 1.18;
    color: var(--bbcc-text);
}

.bbcc-module-meta {
    color: var(--bbcc-muted);
    font-weight: 700;
    justify-self: end;
    text-align: right;
}

.bbcc-module-detail-body {
    padding: 0 clamp(20px, 3vw, 32px) clamp(22px, 3vw, 34px);
}

.bbcc-module-description {
    margin: 0 0 18px 170px;
    color: var(--bbcc-muted);
    line-height: 1.7;
    max-width: 760px;
}

.bbcc-room-item-list {
    display: grid;
    gap: 12px;
    margin-left: 170px;
}

.bbcc-room-item {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 16px;
    border: 1px solid rgba(36,35,33,.08);
    border-radius: 20px;
    background: rgba(248,244,237,.62);
}

.bbcc-room-item-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(115,116,94,.12);
    color: var(--bbcc-olive);
    font-weight: 850;
}

.bbcc-room-item-type {
    display: block;
    color: var(--bbcc-muted);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .7rem;
    margin-bottom: 4px;
}

.bbcc-room-item h3 {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.3;
}

.bbcc-room-item-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid var(--bbcc-border);
    color: var(--bbcc-text) !important;
    background: #fff;
    text-decoration: none !important;
    font-weight: 800;
}

.bbcc-room-footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: clamp(28px, 5vw, 62px);
    padding: 24px;
    border-radius: 26px;
    border: 1px solid var(--bbcc-border);
    background: rgba(255,255,255,.6);
}

.bbcc-room-course-list {
    display: grid;
    gap: 18px;
}

@media (max-width: 900px) {
    .bbcc-room-hero,
    .bbcc-room-intro {
        grid-template-columns: 1fr;
    }
    .bbcc-module-detail summary {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .bbcc-module-meta {
        justify-self: start;
        text-align: left;
    }
    .bbcc-module-description,
    .bbcc-room-item-list {
        margin-left: 0;
    }
    .bbcc-room-item {
        grid-template-columns: 42px minmax(0, 1fr);
    }
    .bbcc-room-item-link {
        grid-column: 1 / -1;
        justify-self: start;
    }
    .bbcc-room-summary-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .bbcc-room-summary-card {
        grid-template-columns: 1fr;
    }
}

/* v0.6.1: aula por módulos propios del Campus, sin salida a la interfaz nativa de Tutor LMS */
:root {
    --bbcc-soft: rgba(115,116,94,.12);
    --bbcc-serif: inherit;
}

.bbcc-room-hero-map {
    align-items: start;
}

.bbcc-room-hero-map .bbcc-room-summary-card {
    align-self: start;
}

.bbcc-room-orientation {
    margin-top: clamp(28px, 4vw, 52px);
    padding: clamp(26px, 4vw, 44px);
    border: 1px solid var(--bbcc-border);
    border-radius: 30px;
    background: rgba(255,255,255,.68);
    box-shadow: 0 14px 32px rgba(36,35,33,.045);
}

.bbcc-room-orientation h2 {
    margin: 4px 0 12px;
    font-size: clamp(1.9rem, 3vw, 3.2rem);
    line-height: 1.08;
}

.bbcc-room-orientation p {
    max-width: 840px;
    margin: 0;
    color: var(--bbcc-muted);
    font-size: clamp(1rem, 1.1vw, 1.12rem);
    line-height: 1.72;
}

.bbcc-room-module-grid {
    display: grid;
    gap: 18px;
}

.bbcc-room-module-card {
    display: grid;
    gap: 18px;
    padding: clamp(24px, 3vw, 38px);
    border: 1px solid var(--bbcc-border);
    border-radius: 28px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 14px 30px rgba(36,35,33,.045);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.bbcc-room-module-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(36,35,33,.07);
    border-color: rgba(115,116,94,.28);
}

.bbcc-room-module-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.bbcc-room-module-card h3 {
    margin: 0;
    font-size: clamp(1.55rem, 2.35vw, 2.75rem);
    line-height: 1.1;
    letter-spacing: -.025em;
    color: var(--bbcc-text);
}

.bbcc-room-module-card p {
    max-width: 820px;
    margin: 0;
    color: var(--bbcc-muted);
    line-height: 1.72;
    font-size: 1.03rem;
}

.bbcc-room-module-card .bbcc-btn {
    justify-self: start;
}

.bbcc-module-view-hero,
.bbcc-content-view-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
    gap: clamp(24px, 4vw, 46px);
    align-items: start;
    padding: clamp(34px, 5vw, 64px);
    border: 1px solid var(--bbcc-border);
    border-radius: 34px;
    background: linear-gradient(135deg, rgba(248,244,237,.96), rgba(237,227,213,.70));
    box-shadow: 0 22px 50px rgba(36,35,33,.07);
}

.bbcc-content-view-hero {
    grid-template-columns: 1fr;
}

.bbcc-module-view-hero h1,
.bbcc-content-view-hero h1 {
    margin: 0;
    font-size: clamp(2.2rem, 4.5vw, 4.8rem);
    line-height: 1.02;
    letter-spacing: -.04em;
}

.bbcc-module-view-hero p,
.bbcc-content-view-hero p {
    max-width: 760px;
    margin: 20px 0 0;
    color: var(--bbcc-muted);
    line-height: 1.7;
    font-size: clamp(1rem, 1.2vw, 1.18rem);
}

.bbcc-module-view-summary {
    display: grid;
    gap: 8px;
    padding: 24px;
    border: 1px solid var(--bbcc-border);
    border-radius: 24px;
    background: rgba(255,255,255,.78);
}

.bbcc-module-view-summary span {
    color: var(--bbcc-muted);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .72rem;
}

.bbcc-module-view-summary strong {
    color: var(--bbcc-text);
    font-size: 1.18rem;
    line-height: 1.35;
}

.bbcc-module-item-grid {
    display: grid;
    gap: 14px;
}

.bbcc-module-item-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: clamp(18px, 2.3vw, 26px);
    border: 1px solid var(--bbcc-border);
    border-radius: 24px;
    background: rgba(255,255,255,.76);
    box-shadow: 0 10px 24px rgba(36,35,33,.04);
}

.bbcc-module-item-copy h3 {
    margin: 0;
    font-size: clamp(1.15rem, 1.6vw, 1.55rem);
    line-height: 1.22;
}

.bbcc-content-view-card {
    margin-top: clamp(28px, 4vw, 52px);
    padding: clamp(26px, 4vw, 48px);
    border: 1px solid var(--bbcc-border);
    border-radius: 30px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 16px 38px rgba(36,35,33,.055);
    color: var(--bbcc-text);
}

.bbcc-content-view-card :where(p, li) {
    color: var(--bbcc-muted);
    line-height: 1.76;
    font-size: 1.04rem;
}

.bbcc-content-view-card :where(h2, h3, h4) {
    color: var(--bbcc-text);
    line-height: 1.16;
}

.bbcc-content-view-card iframe,
.bbcc-content-view-card video,
.bbcc-content-view-card embed,
.bbcc-content-view-card object {
    max-width: 100%;
}

.bbcc-room-footer-clean {
    justify-content: flex-start;
}

@media (max-width: 900px) {
    .bbcc-module-view-hero,
    .bbcc-module-item-card {
        grid-template-columns: 1fr;
    }

    .bbcc-module-item-card .bbcc-room-item-link {
        justify-self: start;
    }
}

/* v0.6.2: ajuste inicial de aula privada y contenidos internos */
body.bbcc-page-room :where(.entry-title, .page-title, .wp-block-post-title),
body.bbcc-page-room :where(.entry-header, .page-header) {
    display: none !important;
}

body.bbcc-page-room .bbcc-wrap {
    max-width: min(1180px, calc(100vw - 48px));
}

.bbcc-room-hero-map {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
}

.bbcc-room-hero-map .bbcc-room-summary-card div {
    min-height: 92px;
}

.bbcc-room-module-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.bbcc-room-module-card p,
.bbcc-room-module-card-head,
.bbcc-room-module-card h3 {
    grid-column: 1 / 2;
}

.bbcc-room-module-card .bbcc-btn {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
}

.bbcc-module-view-content .bbcc-section-heading {
    max-width: 780px;
}

.bbcc-content-view-card {
    min-height: 220px;
}

.bbcc-content-rendered iframe[src*="youtube"],
.bbcc-content-rendered iframe[src*="youtu.be"],
.bbcc-content-rendered iframe[src*="vimeo"] {
    width: min(100%, 920px);
    aspect-ratio: 16 / 9;
    height: auto !important;
    display: block;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 16px 34px rgba(36,35,33,.08);
}

.bbcc-content-resource {
    display: grid;
    gap: 24px;
}

.bbcc-content-resource-head h2 {
    margin: 6px 0 10px;
    font-size: clamp(1.8rem, 3vw, 3.1rem);
    line-height: 1.08;
}

.bbcc-content-resource-head p {
    max-width: 720px;
    color: var(--bbcc-muted);
}

.bbcc-resource-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.bbcc-pdf-shell {
    border: 1px solid var(--bbcc-border);
    border-radius: 24px;
    overflow: hidden;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(36,35,33,.03);
}

.bbcc-pdf-frame {
    display: block;
    width: 100%;
    height: min(78vh, 760px);
    min-height: 520px;
    border: 0;
}

.bbcc-content-resource-quiz {
    padding: clamp(24px, 3vw, 36px);
    border-radius: 26px;
    background: rgba(248,244,237,.62);
    border: 1px solid var(--bbcc-border);
}

.bbcc-quiz-note {
    display: grid;
    gap: 6px;
    padding: 18px 20px;
    border-radius: 18px;
    border: 1px solid rgba(115,116,94,.18);
    background: rgba(255,255,255,.68);
    color: var(--bbcc-muted);
}

.bbcc-quiz-note strong {
    color: var(--bbcc-text);
}

@media (max-width: 900px) {
    .bbcc-room-module-card {
        grid-template-columns: 1fr;
    }
    .bbcc-room-module-card p,
    .bbcc-room-module-card-head,
    .bbcc-room-module-card h3,
    .bbcc-room-module-card .bbcc-btn {
        grid-column: auto;
        grid-row: auto;
    }
    .bbcc-pdf-frame {
        min-height: 420px;
    }
}

/* v0.7.0: vista profesional de módulo como unidad independiente */
.bbcc-module-view-pro {
    max-width: min(1240px, calc(100vw - 48px));
}

.bbcc-module-pro-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
    gap: clamp(22px, 3vw, 42px);
    align-items: stretch;
    padding: clamp(32px, 5vw, 70px);
    border: 1px solid var(--bbcc-border);
    border-radius: 34px;
    background:
        radial-gradient(circle at 92% 96%, rgba(181,167,149,.27), transparent 21%),
        linear-gradient(135deg, rgba(248,244,237,.92), rgba(237,227,213,.52));
    box-shadow: 0 22px 58px rgba(36,35,33,.07);
}

.bbcc-module-pro-main h1 {
    margin: 8px 0 16px;
    max-width: 720px;
    font-size: clamp(2.3rem, 5vw, 5.6rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.bbcc-module-pro-main p {
    max-width: 700px;
    color: var(--bbcc-muted);
    font-size: clamp(1.05rem, 1.35vw, 1.2rem);
    line-height: 1.7;
}

.bbcc-module-pro-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.bbcc-module-pro-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    align-self: start;
    padding: 14px;
    border: 1px solid var(--bbcc-border);
    border-radius: 28px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 14px 34px rgba(36,35,33,.055);
}

.bbcc-module-pro-summary div {
    min-height: 108px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
    padding: 18px;
    border-radius: 20px;
    background: rgba(248,244,237,.72);
    border: 1px solid rgba(36,35,33,.08);
}

.bbcc-module-pro-summary span {
    color: var(--bbcc-muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bbcc-module-pro-summary strong {
    color: var(--bbcc-text);
    font-size: clamp(1.7rem, 2.3vw, 2.6rem);
    line-height: .9;
}

.bbcc-module-pro-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    gap: clamp(22px, 3vw, 36px);
    margin-top: clamp(34px, 5vw, 62px);
    align-items: start;
}

.bbcc-module-pro-content {
    min-width: 0;
}

.bbcc-section-heading-tight {
    margin-bottom: 22px;
}

.bbcc-section-heading-tight h2 {
    margin-bottom: 10px;
}

.bbcc-module-pro-list {
    display: grid;
    gap: 14px;
}

.bbcc-module-pro-item {
    display: grid;
    grid-template-columns: 64px 54px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: clamp(18px, 2.2vw, 28px);
    border: 1px solid var(--bbcc-border);
    border-radius: 26px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 12px 30px rgba(36,35,33,.045);
}

.bbcc-module-pro-item-index span,
.bbcc-module-pro-item-icon {
    width: 46px;
    height: 46px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(115,116,94,.12);
    color: var(--bbcc-accent);
    font-weight: 850;
    letter-spacing: .02em;
}

.bbcc-module-pro-item-icon {
    background: rgba(237,227,213,.75);
    color: var(--bbcc-text);
    font-size: 1rem;
}

.bbcc-module-pro-item-copy h3 {
    margin: 4px 0 0;
    font-size: clamp(1.18rem, 1.75vw, 1.75rem);
    line-height: 1.16;
}

.bbcc-module-pro-item-link {
    white-space: nowrap;
}

.bbcc-module-pro-sidebar {
    position: sticky;
    top: 100px;
}

.bbcc-module-pro-side-card {
    padding: 24px;
    border: 1px solid var(--bbcc-border);
    border-radius: 28px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 16px 36px rgba(36,35,33,.055);
}

.bbcc-module-pro-side-card h3 {
    margin: 8px 0 18px;
    font-size: clamp(1.35rem, 2vw, 2rem);
}

.bbcc-module-pro-nav {
    display: grid;
    gap: 10px;
}

.bbcc-module-pro-nav a {
    display: grid;
    gap: 5px;
    padding: 14px 15px;
    border-radius: 18px;
    border: 1px solid rgba(36,35,33,.08);
    background: rgba(248,244,237,.52);
    text-decoration: none;
    color: var(--bbcc-text);
}

.bbcc-module-pro-nav a:hover,
.bbcc-module-pro-nav a.is-active {
    border-color: rgba(115,116,94,.36);
    background: rgba(115,116,94,.10);
}

.bbcc-module-pro-nav span {
    color: var(--bbcc-muted);
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .68rem;
}

.bbcc-module-pro-nav strong {
    line-height: 1.25;
    font-size: .95rem;
}

.bbcc-module-pro-footer {
    margin-top: clamp(28px, 4vw, 52px);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
}

.bbcc-module-empty {
    border-radius: 26px;
}

@media (max-width: 1000px) {
    .bbcc-module-pro-hero,
    .bbcc-module-pro-layout {
        grid-template-columns: 1fr;
    }
    .bbcc-module-pro-sidebar {
        position: static;
    }
}

@media (max-width: 760px) {
    .bbcc-module-view-pro {
        max-width: min(100%, calc(100vw - 28px));
    }
    .bbcc-module-pro-summary {
        grid-template-columns: 1fr;
    }
    .bbcc-module-pro-summary div {
        min-height: auto;
    }
    .bbcc-module-pro-item {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 12px;
    }
    .bbcc-module-pro-item-index {
        grid-column: 1;
        grid-row: 1 / span 2;
    }
    .bbcc-module-pro-item-icon {
        display: none;
    }
    .bbcc-module-pro-item-copy,
    .bbcc-module-pro-item-link {
        grid-column: 2;
    }
    .bbcc-module-pro-item-link {
        justify-self: start;
    }
}

/* v0.7.1: navegación interna dentro de contenidos de módulo */
.bbcc-content-view-pro .bbcc-content-view-hero-pro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
    align-items: end;
    gap: clamp(20px, 4vw, 42px);
}

.bbcc-content-progress-card {
    padding: 22px;
    border: 1px solid var(--bbcc-border);
    border-radius: 22px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 12px 28px rgba(36,35,33,.05);
}

.bbcc-content-progress-card span,
.bbcc-content-progress-card small {
    display: block;
    color: var(--bbcc-muted);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bbcc-content-progress-card strong {
    display: block;
    margin: 8px 0;
    color: var(--bbcc-text);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1;
}

.bbcc-content-view-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    gap: clamp(22px, 4vw, 40px);
    align-items: start;
    margin-top: clamp(28px, 4vw, 52px);
}

.bbcc-content-view-main .bbcc-content-view-card {
    margin-top: 0;
}

.bbcc-content-module-nav {
    position: sticky;
    top: 96px;
    padding: clamp(22px, 3vw, 30px);
    border: 1px solid var(--bbcc-border);
    border-radius: 28px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 16px 34px rgba(36,35,33,.055);
}

.bbcc-content-module-nav h3 {
    margin: 8px 0 18px;
    color: var(--bbcc-text);
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    line-height: 1.12;
}

.bbcc-content-module-nav-list {
    display: grid;
    gap: 10px;
}

.bbcc-content-module-nav-list a {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px 12px;
    padding: 14px;
    border: 1px solid var(--bbcc-border);
    border-radius: 18px;
    background: rgba(248,244,237,.68);
    color: var(--bbcc-text);
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.bbcc-content-module-nav-list a:hover,
.bbcc-content-module-nav-list a.is-active {
    transform: translateY(-1px);
    border-color: rgba(115,116,94,.42);
    background: rgba(237,227,213,.76);
}

.bbcc-content-module-nav-list span {
    grid-row: 1 / span 2;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--bbcc-accent);
    color: #fff;
    font-size: .74rem;
    font-weight: 900;
}

.bbcc-content-module-nav-list em {
    color: var(--bbcc-muted);
    font-size: .68rem;
    font-style: normal;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bbcc-content-module-nav-list strong {
    color: var(--bbcc-text);
    font-size: .96rem;
    line-height: 1.2;
}

.bbcc-content-continue-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    margin-top: 18px;
    padding: clamp(22px, 3vw, 30px);
    border: 1px solid var(--bbcc-border);
    border-radius: 26px;
    background: rgba(255,255,255,.76);
    box-shadow: 0 12px 28px rgba(36,35,33,.045);
}

.bbcc-content-continue-card h2 {
    margin: 6px 0 8px;
    color: var(--bbcc-text);
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    line-height: 1.1;
}

.bbcc-content-continue-card p {
    margin: 0;
    color: var(--bbcc-muted);
    line-height: 1.65;
}

.bbcc-content-continue-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 900px) {
    .bbcc-content-view-pro .bbcc-content-view-hero-pro,
    .bbcc-content-view-layout,
    .bbcc-content-continue-card {
        grid-template-columns: 1fr;
    }

    .bbcc-content-module-nav {
        position: static;
    }

    .bbcc-content-continue-actions {
        justify-content: flex-start;
    }
}

/* v0.8.0: pantalla profesional de clase/recurso dentro del Campus */
body.bbcc-has-campus-shortcode .bb-page-hero {
    display: none !important;
}

body.bbcc-has-campus-shortcode .bb-generic-content {
    padding-top: 0 !important;
}

body.bbcc-has-campus-shortcode .bb-content-card {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.bbcc-page-room .bbcc-wrap {
    max-width: min(1260px, calc(100vw - 48px));
}

.bbcc-content-view-pro {
    max-width: min(1280px, calc(100vw - 48px));
}

.bbcc-content-view-pro .bbcc-room-breadcrumb {
    margin-bottom: 18px;
}

.bbcc-content-view-pro .bbcc-content-view-hero-pro {
    grid-template-columns: minmax(0, 1fr) minmax(190px, 270px);
    padding: clamp(34px, 5vw, 68px);
    border-radius: 34px;
    background:
        radial-gradient(circle at 92% 92%, rgba(181,167,149,.24), transparent 24%),
        linear-gradient(135deg, rgba(248,244,237,.96), rgba(237,227,213,.62));
}

.bbcc-content-view-pro .bbcc-content-view-hero-pro h1 {
    font-size: clamp(2.4rem, 5vw, 5.8rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.bbcc-content-view-pro .bbcc-content-view-hero-pro p {
    max-width: 640px;
}

.bbcc-content-view-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
}

.bbcc-content-view-main .bbcc-content-view-card {
    padding: clamp(26px, 3.2vw, 42px);
    border-radius: 30px;
    background: rgba(255,255,255,.84);
}

.bbcc-content-resource-pro {
    display: grid;
    gap: clamp(20px, 3vw, 34px);
}

.bbcc-content-resource-head {
    display: grid;
    gap: 8px;
}

.bbcc-content-resource-head h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3.2vw, 3.6rem);
    line-height: 1.04;
    letter-spacing: -.03em;
}

.bbcc-content-resource-head p {
    margin: 0;
    max-width: 760px;
    color: var(--bbcc-muted);
    font-size: clamp(1rem, 1.2vw, 1.13rem);
    line-height: 1.68;
}

.bbcc-content-rendered-pro {
    color: var(--bbcc-text);
}

.bbcc-content-rendered-pro :where(p, li) {
    font-size: clamp(1rem, 1.18vw, 1.1rem);
    line-height: 1.78;
}

.bbcc-content-rendered-pro :where(.wp-block-embed, .wp-block-video, figure) {
    margin: 0;
}

.bbcc-content-rendered-pro :where(iframe, video, embed, object),
.bbcc-content-rendered iframe[src*="youtube"],
.bbcc-content-rendered iframe[src*="vimeo"],
.bbcc-activity-rendered iframe,
.bbcc-meeting-rendered iframe {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9;
    height: auto !important;
    min-height: 420px;
    display: block;
    border: 0;
    border-radius: 24px;
    overflow: hidden;
    background: #111;
    box-shadow: 0 18px 42px rgba(36,35,33,.10);
}

.bbcc-content-rendered-pro :where(.wp-block-embed__wrapper) {
    width: 100%;
}

.bbcc-pdf-shell-pro {
    min-height: 560px;
}

.bbcc-pdf-shell-pro .bbcc-pdf-frame {
    height: min(82vh, 820px);
    min-height: 560px;
}

.bbcc-content-rendered-note {
    padding: 20px;
    border: 1px solid var(--bbcc-border);
    border-radius: 20px;
    background: rgba(248,244,237,.55);
}

.bbcc-content-empty {
    padding: clamp(28px, 4vw, 46px);
    border-radius: 26px;
    background: rgba(248,244,237,.68);
    border: 1px solid var(--bbcc-border);
}

.bbcc-content-empty h2 {
    margin: 4px 0 10px;
    font-size: clamp(1.5rem, 2.5vw, 2.4rem);
}

.bbcc-content-resource-meeting,
.bbcc-content-resource-quiz {
    background: rgba(248,244,237,.55);
    border: 1px solid var(--bbcc-border);
    border-radius: 26px;
    padding: clamp(24px, 3vw, 38px);
}

.bbcc-quiz-note-clean {
    padding: 22px 24px;
    border-radius: 20px;
    background: rgba(255,255,255,.76);
}

.bbcc-content-module-nav {
    max-height: calc(100vh - 130px);
    overflow: auto;
}

.bbcc-content-module-nav-list a.is-active {
    box-shadow: inset 4px 0 0 var(--bbcc-olive);
}

.bbcc-content-continue-card {
    border-radius: 28px;
}

.bbcc-content-continue-actions .bbcc-btn {
    min-width: 150px;
}

@media (max-width: 1000px) {
    body.bbcc-page-room .bbcc-wrap,
    .bbcc-content-view-pro {
        max-width: min(100%, calc(100vw - 28px));
    }
    .bbcc-content-view-layout,
    .bbcc-content-view-pro .bbcc-content-view-hero-pro {
        grid-template-columns: 1fr;
    }
    .bbcc-content-module-nav {
        max-height: none;
        position: static;
    }
}

@media (max-width: 640px) {
    .bbcc-content-rendered-pro :where(iframe, video, embed, object),
    .bbcc-content-rendered iframe[src*="youtube"],
    .bbcc-content-rendered iframe[src*="vimeo"],
    .bbcc-activity-rendered iframe,
    .bbcc-meeting-rendered iframe {
        min-height: 220px;
        border-radius: 18px;
    }
    .bbcc-pdf-shell-pro .bbcc-pdf-frame {
        min-height: 420px;
    }
}

/* v0.8.1: refinamiento visual del aula interna, PDFs y actividades embebidas */
.bbcc-content-kind-reading .bbcc-content-view-hero-pro,
.bbcc-content-kind-reading.bbcc-content-view-card,
.bbcc-content-resource-pdf {
    --bbcc-content-accent: var(--bbcc-olive);
}

.bbcc-content-kind-reading .bbcc-content-resource-head .bbcc-kicker,
.bbcc-content-resource-pdf .bbcc-kicker {
    color: var(--bbcc-olive);
}

.bbcc-content-kind-reading .bbcc-content-progress-card,
.bbcc-content-kind-activity .bbcc-content-progress-card,
.bbcc-content-kind-embed .bbcc-content-progress-card {
    background: rgba(255,255,255,.90);
}

.bbcc-content-resource-pdf .bbcc-content-resource-head {
    padding: clamp(4px, 1vw, 10px) 0 0;
}

.bbcc-content-resource-pdf .bbcc-resource-actions .bbcc-btn-primary::before {
    content: '📄';
    margin-right: 8px;
}

.bbcc-content-resource-pdf .bbcc-resource-actions .bbcc-btn-secondary::before {
    content: '↓';
    margin-right: 8px;
}

.bbcc-content-resource-embed .bbcc-content-resource-head,
.bbcc-content-resource-form .bbcc-content-resource-head,
.bbcc-content-resource-video .bbcc-content-resource-head {
    max-width: 860px;
}

.bbcc-embed-rendered {
    display: block;
    width: 100%;
}

.bbcc-form-rendered {
    padding: 0;
    border-radius: 24px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(36,35,33,.08);
}

.bbcc-form-rendered iframe,
.bbcc-content-rendered-pro .wp-block-embed iframe:not([src*="youtube"]):not([src*="youtu.be"]):not([src*="vimeo"]),
.bbcc-content-rendered-pro iframe:not([src*="youtube"]):not([src*="youtu.be"]):not([src*="vimeo"]) {
    width: 100% !important;
    max-width: 100% !important;
    height: min(86vh, 920px) !important;
    min-height: 720px !important;
    aspect-ratio: auto !important;
    border: 0 !important;
    border-radius: 24px;
    background: #fff !important;
    box-shadow: none;
}

.bbcc-video-rendered iframe,
.bbcc-video-rendered video,
.bbcc-content-rendered iframe[src*="youtube"],
.bbcc-content-rendered iframe[src*="youtu.be"],
.bbcc-content-rendered iframe[src*="vimeo"] {
    aspect-ratio: 16 / 9;
    height: auto !important;
    min-height: 360px;
    background: #111;
}

.bbcc-pdf-shell-pro {
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(36,35,33,.08);
}

.bbcc-pdf-shell-pro .bbcc-pdf-frame {
    min-height: 680px;
    height: min(88vh, 980px);
}

.bbcc-content-view-card-reading {
    background: rgba(255,255,255,.90);
}

.bbcc-content-module-nav-list a em {
    letter-spacing: .07em;
}

.bbcc-content-module-nav-list a:has(em) {
    min-height: 64px;
}

.bbcc-content-continue-card {
    grid-template-columns: minmax(0, .85fr) auto;
}

.bbcc-content-continue-card h2 {
    font-size: clamp(1.15rem, 1.8vw, 1.55rem);
}

.bbcc-content-continue-card p {
    max-width: 520px;
    font-size: .95rem;
}

.bbcc-content-continue-actions .bbcc-btn {
    min-height: 40px;
    padding: 10px 16px;
}

.bbcc-module-pro-item-icon {
    font-size: 1.15rem;
}

@media (max-width: 900px) {
    .bbcc-form-rendered iframe,
    .bbcc-content-rendered-pro .wp-block-embed iframe:not([src*="youtube"]):not([src*="youtu.be"]):not([src*="vimeo"]),
    .bbcc-content-rendered-pro iframe:not([src*="youtube"]):not([src*="youtu.be"]):not([src*="vimeo"]) {
        min-height: 620px !important;
    }

    .bbcc-pdf-shell-pro .bbcc-pdf-frame {
        min-height: 560px;
    }

    .bbcc-content-continue-card {
        grid-template-columns: 1fr;
    }
}


/* v0.8.2: actividades embebidas más extensas, quiz nativo Tutor experimental y encuentros */
.bbcc-form-rendered iframe,
.bbcc-content-rendered-pro .wp-block-embed iframe:not([src*="youtube"]):not([src*="youtu.be"]):not([src*="vimeo"]),
.bbcc-content-rendered-pro iframe:not([src*="youtube"]):not([src*="youtu.be"]):not([src*="vimeo"]) {
    height: min(94vh, 1280px) !important;
    min-height: 1040px !important;
}

.bbcc-activity-rendered,
.bbcc-native-quiz-rendered {
    width: 100%;
    overflow: visible;
}

.bbcc-native-quiz-rendered {
    padding: clamp(18px, 2.5vw, 30px);
    border: 1px solid var(--bbcc-border);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(36,35,33,.08);
}

.bbcc-tutor-native-quiz .tutor-start-quiz-wrapper,
.bbcc-tutor-native-quiz .tutor-quiz-wrapper,
.bbcc-tutor-native-quiz .tutor-quiz-content,
.bbcc-tutor-native-quiz .tutor-quiz-wrap {
    max-width: 100% !important;
}

.bbcc-tutor-native-quiz .tutor-btn,
.bbcc-tutor-native-quiz button[type="submit"] {
    border-radius: 999px !important;
}

.bbcc-content-resource-meeting .bbcc-resource-actions {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 900px) {
    .bbcc-form-rendered iframe,
    .bbcc-content-rendered-pro .wp-block-embed iframe:not([src*="youtube"]):not([src*="youtu.be"]):not([src*="vimeo"]),
    .bbcc-content-rendered-pro iframe:not([src*="youtube"]):not([src*="youtu.be"]):not([src*="vimeo"]) {
        height: min(92vh, 1100px) !important;
        min-height: 860px !important;
    }
}

@media (max-width: 640px) {
    .bbcc-form-rendered iframe,
    .bbcc-content-rendered-pro .wp-block-embed iframe:not([src*="youtube"]):not([src*="youtu.be"]):not([src*="vimeo"]),
    .bbcc-content-rendered-pro iframe:not([src*="youtube"]):not([src*="youtu.be"]):not([src*="vimeo"]) {
        min-height: 760px !important;
    }
}

/* v0.8.3: keep Tutor quiz actions inside Campus layer */
.bbcc-native-quiz-rendered form#tutor-start-quiz,
.bbcc-native-quiz-rendered form#tutor-answering-quiz,
.bbcc-native-quiz-rendered form#tutor-finish-quiz {
    max-width: none;
}
.bbcc-native-quiz-rendered .skip-quiz-btn,
.bbcc-native-quiz-rendered [data-tutor-modal-target="tutor-quiz-skip-to-next"],
.bbcc-native-quiz-rendered .tutor-modal,
.bbcc-native-quiz-rendered .tutor-modal-wrap {
    display: none !important;
}
.bbcc-native-quiz-rendered .tutor-start-quiz-wrapper,
.bbcc-native-quiz-rendered .tutor-quiz-wrap,
.bbcc-native-quiz-rendered #tutor-quiz-attempt-questions-wrap {
    width: 100%;
    max-width: 100%;
}
.bbcc-native-quiz-rendered .tutor-quiz-btn-group {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}
.bbcc-native-quiz-rendered .tutor-btn,
.bbcc-native-quiz-rendered .tutor-btn-primary,
.bbcc-native-quiz-rendered .start-quiz-btn {
    border-radius: 999px !important;
    background: var(--bbcc-accent, #73745E) !important;
    border-color: var(--bbcc-accent, #73745E) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(36, 35, 33, .14);
}
.bbcc-native-quiz-rendered .quiz-question-title {
    font-family: var(--bbcc-serif, Georgia, serif);
    color: var(--bbcc-text, #242321) !important;
}
.bbcc-native-quiz-rendered input[type="radio"],
.bbcc-native-quiz-rendered input[type="checkbox"] {
    width: 22px;
    height: 22px;
}

/* v0.8.4: refinamiento visual del aula interna + actividad compatible dentro del Campus */
body.bbcc-page-room :where(.entry-title, .page-title, .wp-block-post-title),
body.bbcc-page-room :where(.entry-header, .page-header) {
    display: none !important;
}

body.bbcc-page-room .bbcc-room-wrap,
body.bbcc-page-room .bbcc-content-view-pro,
body.bbcc-page-room .bbcc-module-view-wrap {
    max-width: min(1320px, calc(100vw - 56px));
}

.bbcc-room-hero,
.bbcc-module-pro-hero,
.bbcc-content-view-hero-pro {
    box-shadow: 0 22px 54px rgba(36,35,33,.08);
}

.bbcc-room-module-card,
.bbcc-module-pro-item,
.bbcc-content-view-card,
.bbcc-content-module-nav,
.bbcc-content-continue-card {
    box-shadow: 0 16px 38px rgba(36,35,33,.055);
}

.bbcc-content-view-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(260px, 320px);
    align-items: start;
    gap: clamp(20px, 3vw, 38px);
}

.bbcc-content-module-nav {
    position: sticky;
    top: 96px;
    border-radius: 30px;
    padding: clamp(22px, 2.4vw, 30px);
    background: rgba(255,255,255,.90);
}

.bbcc-content-module-nav-list a {
    border-radius: 18px;
    background: rgba(248,244,237,.72);
}

.bbcc-content-module-nav-list a.is-active {
    background: rgba(237,227,213,.88);
    border-color: rgba(115,116,94,.45);
    box-shadow: inset 5px 0 0 var(--bbcc-olive), 0 10px 22px rgba(36,35,33,.04);
}

.bbcc-content-continue-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: clamp(18px, 2.1vw, 26px);
    background: rgba(255,255,255,.88);
}

.bbcc-content-continue-card .bbcc-kicker,
.bbcc-content-continue-card p {
    display: none;
}

.bbcc-content-continue-card h2 {
    margin: 0;
    font-family: var(--bbcc-serif, Georgia, serif);
    font-size: clamp(1.15rem, 1.55vw, 1.55rem);
}

.bbcc-content-continue-actions {
    justify-content: flex-end;
}

.bbcc-content-continue-actions .bbcc-btn {
    min-width: auto;
    white-space: nowrap;
}

.bbcc-content-resource-head h2 {
    max-width: 900px;
}

.bbcc-content-resource-pdf .bbcc-content-resource-head p,
.bbcc-content-resource-quiz .bbcc-content-resource-head p,
.bbcc-content-resource-meeting .bbcc-content-resource-head p {
    max-width: 780px;
}

.bbcc-pdf-shell-pro .bbcc-pdf-frame {
    height: min(92vh, 1080px);
    min-height: 760px;
}

.bbcc-compatible-quiz {
    display: grid;
    gap: 22px;
}

.bbcc-compatible-quiz-complete {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 18px 20px;
    border: 1px solid rgba(115,116,94,.22);
    border-radius: 22px;
    background: rgba(237,227,213,.58);
}

.bbcc-compatible-quiz-complete strong {
    display: block;
    font-weight: 800;
    margin-bottom: 4px;
}

.bbcc-compatible-quiz-complete p {
    margin: 0;
    color: var(--bbcc-muted);
    line-height: 1.55;
}

.bbcc-quiz-status-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: var(--bbcc-olive);
    color: #fff;
    font-weight: 800;
}

.bbcc-compatible-quiz-form,
.bbcc-compatible-quiz-list {
    display: grid;
    gap: 18px;
}

.bbcc-compatible-question {
    margin: 0;
    padding: clamp(20px, 2.5vw, 30px);
    border: 1px solid var(--bbcc-border);
    border-radius: 24px;
    background: rgba(255,255,255,.86);
}

.bbcc-compatible-question legend {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    margin-bottom: 14px;
    font-family: var(--bbcc-serif, Georgia, serif);
    font-size: clamp(1.25rem, 2vw, 2rem);
    line-height: 1.15;
    color: var(--bbcc-text);
}

.bbcc-compatible-question legend span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 28px;
    border-radius: 999px;
    background: rgba(237,227,213,.78);
    font-family: var(--bbcc-sans, system-ui, sans-serif);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .06em;
    color: var(--bbcc-olive);
}

.bbcc-compatible-question-desc {
    margin-bottom: 18px;
    color: var(--bbcc-muted);
}

.bbcc-compatible-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.bbcc-compatible-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 16px;
    border: 1px solid var(--bbcc-border);
    border-radius: 16px;
    background: rgba(248,244,237,.65);
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.bbcc-compatible-option:hover,
.bbcc-compatible-option:focus-within {
    border-color: rgba(115,116,94,.45);
    background: #fff;
    box-shadow: 0 10px 20px rgba(36,35,33,.055);
}

.bbcc-compatible-option input {
    width: 22px;
    height: 22px;
    accent-color: var(--bbcc-olive);
}

.bbcc-compatible-option span {
    font-weight: 650;
}

.bbcc-compatible-text-answer {
    display: grid;
    gap: 8px;
    color: var(--bbcc-muted);
    font-weight: 700;
}

.bbcc-compatible-text-answer textarea {
    width: 100%;
    min-height: 150px;
    padding: 14px 16px;
    border: 1px solid var(--bbcc-border);
    border-radius: 18px;
    background: #fff;
    color: var(--bbcc-text);
    font: inherit;
    resize: vertical;
}

.bbcc-compatible-quiz-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 4px;
}

.bbcc-content-resource-quiz .bbcc-content-rendered-pro,
.bbcc-content-resource-quiz .bbcc-native-quiz-rendered {
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
}

@media (max-width: 960px) {
    .bbcc-content-view-layout {
        grid-template-columns: 1fr;
    }
    .bbcc-content-module-nav {
        position: static;
        max-height: none;
    }
    .bbcc-content-continue-card {
        grid-template-columns: 1fr;
    }
    .bbcc-content-continue-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    body.bbcc-page-room .bbcc-room-wrap,
    body.bbcc-page-room .bbcc-content-view-pro,
    body.bbcc-page-room .bbcc-module-view-wrap {
        max-width: min(100%, calc(100vw - 28px));
    }
    .bbcc-compatible-options {
        grid-template-columns: 1fr;
    }
    .bbcc-pdf-shell-pro .bbcc-pdf-frame {
        min-height: 560px;
    }
}

/* v0.8.5: refinamiento inspirado en portales LMS profesionales */
body.bbcc-page-room .bbcc-room-wrap,
body.bbcc-page-room .bbcc-module-view-wrap,
body.bbcc-page-room .bbcc-content-view-pro {
    max-width: min(1380px, calc(100vw - 64px));
}

body.bbcc-page-room :where(.entry-title, .page-title, .wp-block-post-title, .bb-page-hero, .bb-hero-title) {
    display: none !important;
}

.bbcc-room-hero-map,
.bbcc-module-pro-hero,
.bbcc-content-view-hero-pro {
    border-radius: 36px;
    border-color: rgba(36,35,33,.10);
}

.bbcc-room-hero-map {
    grid-template-columns: minmax(0, 1.3fr) minmax(260px, 360px);
}

.bbcc-room-summary-card {
    background: rgba(255,255,255,.88);
}

.bbcc-room-summary-card div {
    min-height: 96px;
}

.bbcc-room-module-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px 24px;
    align-items: center;
    padding: clamp(22px, 2.7vw, 34px);
}

.bbcc-room-module-card h3,
.bbcc-room-module-card p {
    grid-column: 1;
}

.bbcc-room-module-card .bbcc-btn {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
}

.bbcc-module-pro-item,
.bbcc-content-module-nav-list a {
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.bbcc-module-pro-item:hover,
.bbcc-content-module-nav-list a:hover {
    transform: translateY(-1px);
    border-color: rgba(115,116,94,.34);
    box-shadow: 0 16px 34px rgba(36,35,33,.075);
}

.bbcc-content-view-pro .bbcc-content-view-hero-pro {
    padding: clamp(30px, 4vw, 56px);
}

.bbcc-content-view-pro .bbcc-content-view-hero-pro h1 {
    font-size: clamp(2.2rem, 4.35vw, 5.2rem);
}

.bbcc-content-view-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
}

.bbcc-content-view-main .bbcc-content-view-card {
    border: 1px solid rgba(36,35,33,.10);
    background: rgba(255,255,255,.90);
}

.bbcc-content-module-nav {
    background: rgba(255,255,255,.94);
}

.bbcc-content-module-nav-list a em {
    letter-spacing: .09em;
}

.bbcc-content-continue-card {
    grid-template-columns: auto 1fr;
    background: rgba(255,255,255,.92);
}

.bbcc-content-continue-card h2 {
    white-space: nowrap;
}

.bbcc-content-continue-actions {
    width: 100%;
}

.bbcc-content-continue-actions .bbcc-btn {
    padding: 10px 14px;
}

.bbcc-pdf-shell-pro .bbcc-pdf-frame {
    height: min(94vh, 1120px);
    min-height: 820px;
}

.bbcc-compatible-quiz-complete {
    background: rgba(237,227,213,.62);
    border-color: rgba(115,116,94,.30);
}

.bbcc-compatible-option.is-selected,
.bbcc-compatible-option:has(input:checked) {
    border-color: rgba(115,116,94,.55);
    background: rgba(237,227,213,.74);
    box-shadow: inset 4px 0 0 var(--bbcc-olive), 0 12px 24px rgba(36,35,33,.055);
}

.bbcc-compatible-option.is-selected span,
.bbcc-compatible-option:has(input:checked) span {
    color: var(--bbcc-text);
    font-weight: 800;
}

.bbcc-compatible-quiz-actions .bbcc-btn {
    min-width: 190px;
}

@media (max-width: 900px) {
    body.bbcc-page-room .bbcc-room-wrap,
    body.bbcc-page-room .bbcc-module-view-wrap,
    body.bbcc-page-room .bbcc-content-view-pro {
        max-width: min(100%, calc(100vw - 28px));
    }
    .bbcc-room-hero-map,
    .bbcc-room-module-card,
    .bbcc-content-continue-card {
        grid-template-columns: 1fr;
    }
    .bbcc-room-module-card .bbcc-btn {
        grid-column: 1;
        grid-row: auto;
        justify-self: start;
    }
    .bbcc-content-continue-card h2 {
        white-space: normal;
    }
    .bbcc-content-continue-actions {
        justify-content: flex-start;
    }
}

/* v0.8.6 — revisión de respuestas en actividades */
.bbcc-compatible-option {
    position: relative;
    flex-wrap: wrap;
}

.bbcc-compatible-option .bbcc-option-text {
    flex: 1 1 auto;
}

.bbcc-answer-review-tags {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
    margin-left: auto;
}

.bbcc-answer-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: .68rem;
    line-height: 1;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
    white-space: nowrap;
}

.bbcc-answer-tag-selected {
    background: rgba(237,227,213,.92);
    color: var(--bbcc-olive);
}

.bbcc-answer-tag-correct {
    background: rgba(115,116,94,.14);
    color: var(--bbcc-olive);
    border: 1px solid rgba(115,116,94,.35);
}

.bbcc-answer-tag-incorrect {
    background: rgba(181,167,149,.18);
    color: #7a4c3a;
    border: 1px solid rgba(122,76,58,.24);
}

.bbcc-compatible-option.is-correct {
    border-color: rgba(115,116,94,.62);
    background: rgba(248,244,237,.92);
    box-shadow: inset 4px 0 0 var(--bbcc-olive), 0 12px 24px rgba(36,35,33,.055);
}

.bbcc-compatible-option.is-incorrect-selected {
    border-color: rgba(122,76,58,.26);
    background: rgba(237,227,213,.48);
    box-shadow: inset 4px 0 0 rgba(122,76,58,.42), 0 12px 24px rgba(36,35,33,.04);
}

.bbcc-compatible-option.is-correct.is-selected {
    background: rgba(237,227,213,.78);
}

@media (max-width: 640px) {
    .bbcc-answer-review-tags {
        width: 100%;
        margin-left: 34px;
    }
}


/* v0.8.7: afinación estética del aula interna */
body.bbcc-page-room {
    --bbcc-room-bg: #f7f1e8;
    --bbcc-panel: rgba(255,255,255,.88);
    --bbcc-panel-strong: rgba(255,255,255,.96);
    --bbcc-line-soft: rgba(36,35,33,.10);
    --bbcc-depth-soft: 0 18px 42px rgba(36,35,33,.055);
    --bbcc-depth: 0 24px 58px rgba(36,35,33,.075);
    background: var(--bbcc-room-bg);
}

body.bbcc-page-room .bbcc-wrap {
    padding-top: clamp(18px, 3.2vw, 42px);
    padding-bottom: clamp(38px, 5vw, 74px);
}

body.bbcc-page-room .bbcc-room-wrap,
body.bbcc-page-room .bbcc-module-view-wrap,
body.bbcc-page-room .bbcc-content-view-pro {
    max-width: min(1440px, calc(100vw - 72px));
}

body.bbcc-page-room .bbcc-room-breadcrumb {
    margin-bottom: 16px;
    font-size: .78rem;
    letter-spacing: .015em;
    opacity: .86;
}

body.bbcc-page-room .bbcc-room-breadcrumb a,
body.bbcc-page-room .bbcc-room-breadcrumb span {
    display: inline-flex;
    align-items: center;
}

.bbcc-room-hero-map,
.bbcc-module-pro-hero,
.bbcc-content-view-hero-pro {
    background:
        radial-gradient(circle at 96% 94%, rgba(181,167,149,.24), transparent 25%),
        linear-gradient(135deg, rgba(248,244,237,.98), rgba(237,227,213,.68));
    box-shadow: var(--bbcc-depth);
    overflow: hidden;
}

.bbcc-room-hero-map {
    padding: clamp(30px, 4.4vw, 62px);
}

.bbcc-room-hero-map h1,
.bbcc-module-pro-hero h1,
.bbcc-content-view-hero-pro h1 {
    max-width: 780px;
}

.bbcc-room-summary-card,
.bbcc-module-pro-summary,
.bbcc-content-progress-card {
    border-color: rgba(36,35,33,.09);
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(6px);
}

.bbcc-room-summary-card div,
.bbcc-module-pro-summary div {
    background: rgba(248,244,237,.74);
    border-color: rgba(36,35,33,.055);
}

.bbcc-room-orientation,
.bbcc-module-pro-side-card,
.bbcc-content-module-nav,
.bbcc-content-view-main .bbcc-content-view-card,
.bbcc-content-continue-card,
.bbcc-room-module-card,
.bbcc-module-pro-item {
    border-color: var(--bbcc-line-soft);
    background: var(--bbcc-panel);
    box-shadow: var(--bbcc-depth-soft);
}

.bbcc-room-orientation {
    margin-top: clamp(22px, 3.2vw, 42px);
    padding: clamp(24px, 3.4vw, 38px);
}

.bbcc-room-orientation h2 {
    font-size: clamp(1.7rem, 2.65vw, 3rem);
}

.bbcc-room-module-grid {
    gap: 16px;
}

.bbcc-room-module-card {
    border-radius: 28px;
    align-items: center;
}

.bbcc-room-module-card-head {
    gap: 10px;
}

.bbcc-room-module-card .bbcc-module-index,
.bbcc-module-pro-item-index span,
.bbcc-content-module-nav-list span {
    background: rgba(115,116,94,.12);
    color: var(--bbcc-olive);
    border: 1px solid rgba(115,116,94,.13);
}

.bbcc-room-module-card h3 {
    font-size: clamp(1.45rem, 2vw, 2.35rem);
}

.bbcc-room-module-card .bbcc-btn,
.bbcc-module-pro-item-link .bbcc-btn,
.bbcc-content-continue-actions .bbcc-btn,
.bbcc-compatible-quiz-actions .bbcc-btn {
    box-shadow: 0 10px 24px rgba(36,35,33,.06);
}

.bbcc-module-pro-layout,
.bbcc-content-view-layout {
    align-items: start;
    gap: clamp(24px, 3.2vw, 44px);
}

.bbcc-module-pro-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
}

.bbcc-module-pro-hero,
.bbcc-content-view-hero-pro {
    padding: clamp(30px, 4.2vw, 58px);
}

.bbcc-module-pro-hero h1,
.bbcc-content-view-hero-pro h1 {
    font-size: clamp(2.05rem, 4.1vw, 4.65rem);
}

.bbcc-module-pro-item {
    border-radius: 24px;
    padding: clamp(16px, 2.2vw, 24px);
    background: var(--bbcc-panel-strong);
}

.bbcc-module-pro-item:hover,
.bbcc-room-module-card:hover,
.bbcc-content-module-nav-list a:hover {
    transform: translateY(-2px);
}

.bbcc-module-pro-item-copy h3 {
    font-size: clamp(1.1rem, 1.45vw, 1.45rem);
}

.bbcc-module-pro-side-card,
.bbcc-content-module-nav {
    border-radius: 30px;
}

.bbcc-module-pro-nav a,
.bbcc-content-module-nav-list a {
    border-radius: 18px;
    background: rgba(248,244,237,.62);
}

.bbcc-module-pro-nav a.is-active,
.bbcc-content-module-nav-list a.is-active {
    background: rgba(237,227,213,.82);
    border-color: rgba(115,116,94,.42);
    box-shadow: inset 4px 0 0 var(--bbcc-olive);
}

.bbcc-content-view-layout {
    grid-template-columns: minmax(0, 1fr) minmax(270px, 330px);
}

.bbcc-content-view-main .bbcc-content-view-card {
    border-radius: 32px;
    padding: clamp(26px, 3vw, 44px);
}

.bbcc-content-resource-head {
    margin-bottom: 4px;
}

.bbcc-content-resource-head .bbcc-kicker,
.bbcc-module-pro-content .bbcc-kicker,
.bbcc-content-module-nav .bbcc-kicker {
    color: var(--bbcc-olive);
}

.bbcc-content-resource-head h2 {
    font-size: clamp(1.65rem, 2.7vw, 3.2rem);
}

.bbcc-content-rendered-pro :where(iframe, video, embed, object),
.bbcc-content-rendered iframe[src*="youtube"],
.bbcc-content-rendered iframe[src*="vimeo"],
.bbcc-activity-rendered iframe,
.bbcc-meeting-rendered iframe {
    border-radius: 26px;
    box-shadow: 0 18px 42px rgba(36,35,33,.11);
}

.bbcc-pdf-shell-pro {
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(36,35,33,.10);
    background: rgba(255,255,255,.96);
}

.bbcc-pdf-shell-pro .bbcc-pdf-frame {
    border-radius: 0;
    box-shadow: none;
    background: #fff;
}

.bbcc-content-resource-pdf .bbcc-actions,
.bbcc-content-resource-meeting .bbcc-actions {
    margin-top: 12px;
}

.bbcc-compatible-quiz {
    gap: 18px;
}

.bbcc-compatible-quiz-complete {
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(237,227,213,.76), rgba(248,244,237,.92));
}

.bbcc-compatible-question {
    border-radius: 26px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 26px rgba(36,35,33,.045);
}

.bbcc-compatible-options {
    gap: 14px;
}

.bbcc-compatible-option {
    min-height: 64px;
    border-radius: 18px;
    background: rgba(248,244,237,.78);
}

.bbcc-compatible-option input {
    flex: 0 0 auto;
}

.bbcc-content-continue-card {
    position: relative;
    grid-template-columns: auto 1fr;
    border-radius: 26px;
    padding: 18px 20px;
    margin-top: 20px;
}

.bbcc-content-continue-card h2 {
    font-size: clamp(1.05rem, 1.35vw, 1.35rem);
}

.bbcc-content-continue-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.bbcc-content-continue-actions .bbcc-btn {
    min-height: 40px;
    padding: 9px 14px;
}

.bbcc-content-module-nav-list a {
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
}

.bbcc-content-module-nav-list em {
    font-size: .64rem;
}

.bbcc-content-module-nav-list strong {
    font-size: .92rem;
}

@media (min-width: 1200px) {
    .bbcc-content-view-main .bbcc-content-view-card {
        min-height: 360px;
    }
    .bbcc-content-resource-video .bbcc-content-view-card,
    .bbcc-content-resource-pdf .bbcc-content-view-card {
        min-height: 520px;
    }
}

@media (max-width: 980px) {
    body.bbcc-page-room .bbcc-room-wrap,
    body.bbcc-page-room .bbcc-module-view-wrap,
    body.bbcc-page-room .bbcc-content-view-pro {
        max-width: min(100%, calc(100vw - 32px));
    }
    .bbcc-module-pro-layout,
    .bbcc-content-view-layout,
    .bbcc-content-continue-card {
        grid-template-columns: 1fr;
    }
    .bbcc-module-pro-sidebar,
    .bbcc-content-module-nav {
        position: static;
    }
    .bbcc-content-continue-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    body.bbcc-page-room .bbcc-wrap {
        padding-left: 14px;
        padding-right: 14px;
    }
    .bbcc-room-hero-map,
    .bbcc-module-pro-hero,
    .bbcc-content-view-hero-pro,
    .bbcc-content-view-main .bbcc-content-view-card,
    .bbcc-room-orientation,
    .bbcc-module-pro-side-card,
    .bbcc-content-module-nav {
        border-radius: 22px;
    }
    .bbcc-room-summary-card,
    .bbcc-module-pro-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bbcc-content-continue-actions .bbcc-btn {
        width: 100%;
    }
    .bbcc-pdf-shell-pro .bbcc-pdf-frame {
        min-height: 620px;
    }
}

/* v0.8.8: aula como portal profesional — hub educativo, biblioteca y navegación académica */
body.bbcc-page-room {
    --bbcc-room-bg: #f8f3eb;
}

body.bbcc-page-room .bbcc-wrap {
    padding-top: clamp(20px, 2.8vw, 38px);
}

body.bbcc-page-room .bbcc-room-wrap,
body.bbcc-page-room .bbcc-module-view-wrap,
body.bbcc-page-room .bbcc-content-view-pro {
    max-width: min(1480px, calc(100vw - 64px));
}

.bbcc-room-hero-map,
.bbcc-module-pro-hero,
.bbcc-content-view-hero-pro {
    border: 1px solid rgba(36,35,33,.095);
    background:
        radial-gradient(circle at 92% 18%, rgba(181,167,149,.18), transparent 26%),
        linear-gradient(135deg, rgba(248,244,237,.98), rgba(237,227,213,.74));
}

.bbcc-room-hero-map {
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 380px);
    gap: clamp(28px, 4vw, 58px);
    align-items: center;
}

.bbcc-room-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.bbcc-room-summary-card,
.bbcc-module-pro-summary,
.bbcc-content-progress-card {
    padding: 12px;
    gap: 10px;
    border-radius: 26px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.45), 0 18px 42px rgba(36,35,33,.055);
}

.bbcc-room-summary-card div,
.bbcc-module-pro-summary div,
.bbcc-content-progress-card {
    border-radius: 18px;
}

.bbcc-room-summary-card span,
.bbcc-module-pro-summary span,
.bbcc-content-progress-card span {
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bbcc-room-orientation {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 330px);
    gap: 24px;
    align-items: center;
    background:
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,244,237,.82));
}

.bbcc-room-orientation::after {
    content: "";
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 86px;
    padding: 18px;
    border-radius: 24px;
    background: rgba(115,116,94,.10);
    color: var(--bbcc-olive);
    font-size: .82rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-align: center;
}

.bbcc-room-resource-hub {
    margin-top: clamp(22px, 3.4vw, 42px);
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 20px;
    align-items: stretch;
    padding: clamp(22px, 3.2vw, 36px);
    border-radius: 30px;
    border: 1px solid rgba(36,35,33,.10);
    background: rgba(255,255,255,.86);
    box-shadow: var(--bbcc-depth-soft);
}

.bbcc-room-resource-head h2 {
    margin: 0 0 10px;
    font-size: clamp(1.45rem, 2.2vw, 2.4rem);
    line-height: 1.12;
    letter-spacing: -.025em;
}

.bbcc-room-resource-head p {
    margin: 0;
    color: var(--bbcc-muted);
    line-height: 1.65;
}

.bbcc-room-resource-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.bbcc-room-resource-cards div {
    display: grid;
    gap: 8px;
    align-content: center;
    min-height: 118px;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(36,35,33,.08);
    background: rgba(248,244,237,.76);
}

.bbcc-room-resource-cards span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 34px;
    border-radius: 999px;
    background: rgba(115,116,94,.13);
    color: var(--bbcc-olive);
    font-size: .72rem;
    font-weight: 850;
}

.bbcc-room-resource-cards strong {
    font-size: clamp(1.35rem, 2.1vw, 2rem);
    line-height: 1;
    color: var(--bbcc-text);
}

.bbcc-room-resource-cards em {
    font-style: normal;
    color: var(--bbcc-muted);
    font-size: .82rem;
    font-weight: 750;
}

.bbcc-room-modules .bbcc-section-heading {
    max-width: 860px;
    margin-bottom: 18px;
}

.bbcc-room-module-grid {
    gap: 14px;
}

.bbcc-room-module-card {
    grid-template-columns: minmax(0, .86fr) minmax(180px, .34fr) auto;
    gap: 14px 22px;
    min-height: 132px;
    border-radius: 30px;
}

.bbcc-room-module-card-head {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bbcc-room-module-card h3 {
    margin: 0;
    grid-column: 1;
    align-self: center;
}

.bbcc-room-module-card p {
    grid-column: 2;
    margin: 0;
    align-self: center;
    color: var(--bbcc-muted);
    font-size: .94rem;
    line-height: 1.52;
}

.bbcc-room-module-card .bbcc-btn {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: end;
}

.bbcc-module-pro-layout,
.bbcc-content-view-layout {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 350px);
}

.bbcc-module-pro-side-card,
.bbcc-content-module-nav {
    position: sticky;
    top: 96px;
}

.admin-bar .bbcc-module-pro-side-card,
.admin-bar .bbcc-content-module-nav {
    top: 128px;
}

.bbcc-module-pro-item {
    grid-template-columns: 54px 46px minmax(0, 1fr) auto;
    gap: 12px 18px;
    align-items: center;
}

.bbcc-module-pro-item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(115,116,94,.11);
    border: 1px solid rgba(115,116,94,.13);
    color: var(--bbcc-olive);
}

.bbcc-module-pro-item-copy .bbcc-room-item-type,
.bbcc-content-module-nav-list em {
    color: var(--bbcc-olive);
}

.bbcc-content-view-hero-pro {
    grid-template-columns: minmax(0, 1fr) minmax(190px, 250px);
    align-items: center;
}

.bbcc-content-view-main .bbcc-content-view-card {
    padding: clamp(28px, 3.4vw, 50px);
}

.bbcc-content-resource-head h2 {
    max-width: 860px;
}

.bbcc-content-rendered-pro :where(iframe, video, embed, object),
.bbcc-content-rendered iframe[src*="youtube"],
.bbcc-content-rendered iframe[src*="vimeo"],
.bbcc-activity-rendered iframe,
.bbcc-meeting-rendered iframe {
    border: 1px solid rgba(36,35,33,.08);
}

.bbcc-content-resource-video .bbcc-content-view-card,
.bbcc-content-resource-video .bbcc-content-rendered-pro {
    background: transparent;
}

.bbcc-pdf-shell-pro .bbcc-pdf-frame {
    min-height: 900px;
}

.bbcc-content-continue-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 14px 16px;
    border-radius: 999px;
}

.bbcc-content-continue-card .bbcc-kicker,
.bbcc-content-continue-card p {
    display: none;
}

.bbcc-content-continue-card h2 {
    margin: 0;
    font-size: .95rem;
    white-space: nowrap;
    color: var(--bbcc-muted);
}

.bbcc-content-continue-actions {
    flex: 1 1 auto;
}

.bbcc-content-continue-actions .bbcc-btn {
    min-height: 36px;
    font-size: .78rem;
}

.bbcc-compatible-quiz {
    max-width: 920px;
    margin-inline: auto;
}

.bbcc-compatible-question legend {
    font-size: clamp(1rem, 1.2vw, 1.22rem);
}

.bbcc-compatible-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bbcc-compatible-option {
    min-height: 72px;
    align-items: center;
}

.bbcc-answer-tag {
    font-size: .64rem;
}

@media (max-width: 1180px) {
    .bbcc-room-module-card {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .bbcc-room-module-card p {
        grid-column: 1;
    }
    .bbcc-room-module-card .bbcc-btn {
        grid-column: 2;
        grid-row: 2 / span 2;
    }
    .bbcc-room-resource-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    body.bbcc-page-room .bbcc-room-wrap,
    body.bbcc-page-room .bbcc-module-view-wrap,
    body.bbcc-page-room .bbcc-content-view-pro {
        max-width: min(100%, calc(100vw - 28px));
    }
    .bbcc-room-hero-map,
    .bbcc-room-orientation,
    .bbcc-room-resource-hub,
    .bbcc-module-pro-layout,
    .bbcc-content-view-layout,
    .bbcc-content-view-hero-pro {
        grid-template-columns: 1fr;
    }
    .bbcc-module-pro-side-card,
    .bbcc-content-module-nav {
        position: static;
    }
    .bbcc-content-continue-card {
        border-radius: 24px;
        align-items: stretch;
        flex-direction: column;
    }
    .bbcc-content-continue-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .bbcc-room-resource-cards,
    .bbcc-compatible-options {
        grid-template-columns: 1fr;
    }
    .bbcc-room-module-card {
        grid-template-columns: 1fr;
    }
    .bbcc-room-module-card .bbcc-btn,
    .bbcc-room-module-card h3,
    .bbcc-room-module-card p {
        grid-column: 1;
        grid-row: auto;
        justify-self: start;
    }
    .bbcc-room-module-card-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .bbcc-module-pro-item {
        grid-template-columns: 44px minmax(0, 1fr);
    }
    .bbcc-module-pro-item-index {
        display: none;
    }
    .bbcc-module-pro-item-link {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

/* v0.8.9: reorganización de la página inicial del aula como dashboard de curso */
.bbcc-room-home-hero {
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .62fr);
    padding: clamp(32px, 4.2vw, 58px);
    margin-bottom: clamp(22px, 3.2vw, 36px);
}

.bbcc-room-home-hero .bbcc-room-hero-main h1 {
    max-width: 780px;
}

.bbcc-room-home-hero .bbcc-room-hero-main p {
    max-width: 720px;
    margin-top: 18px;
}

.bbcc-room-home-status {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: clamp(22px, 2.6vw, 32px);
    border: 1px solid rgba(36,35,33,.10);
    border-radius: 28px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 18px 38px rgba(36,35,33,.055);
}

.bbcc-room-home-status h2 {
    margin: 0;
    font-size: clamp(1.45rem, 2vw, 2.05rem);
    line-height: 1.12;
}

.bbcc-room-home-status p {
    margin: 0;
    font-size: .98rem;
    line-height: 1.62;
    color: var(--bbcc-muted);
}

.bbcc-room-home-status .bbcc-btn {
    width: 100%;
    justify-content: center;
    min-height: 46px;
}

.bbcc-room-home-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 4px;
}

.bbcc-room-home-stats div {
    min-height: 78px;
    display: grid;
    align-content: center;
    gap: 5px;
    padding: 14px;
    border-radius: 20px;
    background: rgba(248,244,237,.72);
    border: 1px solid rgba(36,35,33,.07);
}

.bbcc-room-home-stats strong {
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    line-height: 1;
    color: var(--bbcc-text);
}

.bbcc-room-home-stats span {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 820;
    color: var(--bbcc-muted);
}

.bbcc-room-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .56fr);
    gap: clamp(18px, 2.4vw, 28px);
    align-items: stretch;
    margin-bottom: clamp(28px, 4vw, 50px);
}

.bbcc-room-home-card {
    padding: clamp(24px, 3vw, 38px);
    border: 1px solid var(--bbcc-border);
    border-radius: 30px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 15px 34px rgba(36,35,33,.045);
}

.bbcc-room-home-card-primary {
    background:
        radial-gradient(circle at right bottom, rgba(181,167,149,.16), transparent 38%),
        rgba(255,255,255,.74);
}

.bbcc-room-home-card h2 {
    margin: 6px 0 10px;
    font-size: clamp(1.75rem, 2.7vw, 3.05rem);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.bbcc-room-home-card p {
    max-width: 720px;
    margin: 0;
    color: var(--bbcc-muted);
    line-height: 1.7;
    font-size: 1.03rem;
}

.bbcc-room-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.bbcc-room-home-card-library {
    display: grid;
    align-content: start;
    gap: 14px;
}

.bbcc-room-home-card-library h2 {
    font-size: clamp(1.4rem, 2vw, 2rem);
    margin-bottom: 2px;
}

.bbcc-room-resource-cards-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.bbcc-room-resource-cards-compact div {
    min-height: 96px;
    padding: 15px;
}

.bbcc-room-resource-cards-compact span {
    width: 32px;
    height: 32px;
    font-size: .68rem;
}

.bbcc-room-resource-cards-compact strong {
    font-size: 1.35rem;
}

.bbcc-room-modules-home {
    margin-top: 0;
}

.bbcc-room-modules-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px 24px;
    align-items: end;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(36,35,33,.08);
}

.bbcc-room-modules-heading .bbcc-kicker,
.bbcc-room-modules-heading h2,
.bbcc-room-modules-heading p {
    grid-column: 1;
}

.bbcc-room-modules-heading h2 {
    margin-bottom: 2px;
}

.bbcc-room-modules-home .bbcc-room-module-grid {
    margin-top: 18px;
}

.bbcc-room-modules-home .bbcc-room-module-card {
    min-height: 118px;
    padding: clamp(20px, 2.4vw, 30px);
    border-radius: 24px;
    background: rgba(255,255,255,.82);
}

.bbcc-room-modules-home .bbcc-room-module-card h3 {
    font-size: clamp(1.35rem, 2vw, 2.25rem);
}

.bbcc-room-modules-home .bbcc-room-module-card .bbcc-module-index {
    min-height: 34px;
    padding-inline: 13px;
    font-size: .68rem;
}

.bbcc-room-modules-home .bbcc-room-module-card .bbcc-module-meta {
    font-size: .78rem;
}

@media (max-width: 980px) {
    .bbcc-room-home-hero,
    .bbcc-room-home-grid {
        grid-template-columns: 1fr;
    }
    .bbcc-room-home-status .bbcc-btn {
        width: auto;
        justify-self: start;
    }
}

@media (max-width: 720px) {
    .bbcc-room-home-stats,
    .bbcc-room-resource-cards-compact {
        grid-template-columns: 1fr;
    }
    .bbcc-room-home-actions {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* v0.9.0: portada del aula como centro de curso, módulos compactos y nomenclatura estable */
.bbcc-room-home-hero {
    grid-template-columns: minmax(0, 1.18fr) minmax(260px, 360px);
    gap: clamp(18px, 2.4vw, 34px);
}

.bbcc-room-home-status {
    gap: 12px;
    padding: clamp(18px, 2.2vw, 26px);
    border-radius: 24px;
}

.bbcc-room-home-status h2 {
    font-size: clamp(1.25rem, 1.55vw, 1.7rem);
    letter-spacing: -.018em;
}

.bbcc-room-home-status p {
    font-size: .92rem;
    line-height: 1.5;
}

.bbcc-room-home-status .bbcc-btn {
    min-height: 40px;
    border-radius: 999px;
}

.bbcc-room-home-stats {
    gap: 8px;
}

.bbcc-room-home-stats div {
    min-height: 56px;
    padding: 10px 12px;
    border-radius: 16px;
    gap: 3px;
}

.bbcc-room-home-stats strong {
    font-size: clamp(1.05rem, 1.55vw, 1.42rem);
}

.bbcc-room-home-stats span {
    font-size: .58rem;
    letter-spacing: .075em;
}

.bbcc-room-home-grid-welcome {
    grid-template-columns: 1fr;
    margin-bottom: clamp(26px, 3.8vw, 42px);
}

.bbcc-room-welcome-card {
    min-height: 0;
    padding: clamp(24px, 3.2vw, 42px);
}

.bbcc-room-welcome-card h2 {
    max-width: 900px;
    font-size: clamp(1.85rem, 2.8vw, 3.25rem);
}

.bbcc-room-welcome-card p {
    max-width: 900px;
    font-size: clamp(.98rem, 1.04vw, 1.08rem);
}

.bbcc-room-modules-home .bbcc-room-module-grid-dashboard {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(14px, 1.9vw, 20px);
    margin-top: 20px;
}

.bbcc-room-module-dashboard-card {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 16px;
    padding: clamp(18px, 2.1vw, 26px);
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.88), rgba(248,244,237,.70)),
        rgba(255,255,255,.80);
}

.bbcc-room-module-dashboard-card .bbcc-room-module-card-head {
    grid-column: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.bbcc-room-module-dashboard-card .bbcc-module-index,
.bbcc-room-module-dashboard-card .bbcc-module-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: .62rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
    border: 1px solid rgba(36,35,33,.09);
    background: rgba(255,255,255,.72);
    color: var(--bbcc-muted);
}

.bbcc-room-module-dashboard-card .bbcc-module-status {
    color: var(--bbcc-olive);
    background: rgba(115,116,94,.08);
}

.bbcc-room-module-card-empty .bbcc-module-status {
    color: rgba(109,98,88,.85);
    background: rgba(181,167,149,.12);
}

.bbcc-room-module-dashboard-card h3 {
    grid-column: auto;
    margin: 0;
    font-size: clamp(1.42rem, 1.85vw, 2.1rem);
    line-height: 1.12;
}

.bbcc-room-module-dashboard-card p {
    grid-column: auto;
    margin: 0;
    max-width: 100%;
    font-size: .94rem;
    line-height: 1.55;
    color: var(--bbcc-muted);
}

.bbcc-module-mini-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.bbcc-module-mini-metrics span {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(36,35,33,.08);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: var(--bbcc-muted);
    font-size: .74rem;
    font-weight: 760;
}

.bbcc-module-mini-metrics strong {
    font-size: .92rem;
    color: var(--bbcc-text);
}

.bbcc-room-module-dashboard-card .bbcc-btn {
    grid-column: auto;
    grid-row: auto;
    align-self: auto;
    justify-self: start;
    min-height: 38px;
    padding-inline: 16px;
}

.bbcc-room-module-dashboard-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(36,35,33,.075);
}

@media (max-width: 980px) {
    .bbcc-room-home-hero,
    .bbcc-room-modules-home .bbcc-room-module-grid-dashboard {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .bbcc-room-home-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bbcc-room-module-dashboard-card {
        padding: 18px;
    }
    .bbcc-module-mini-metrics {
        gap: 6px;
    }
    .bbcc-module-mini-metrics span {
        font-size: .68rem;
    }
}

/* v0.9.1 — portal del alumno y dashboard académico del aula */
.bbcc-student-portal-wrap {
    --bbcc-portal-gap: clamp(16px, 2.4vw, 28px);
}

.bbcc-student-portal-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: var(--bbcc-portal-gap);
    align-items: stretch;
}

.bbcc-student-portal-main,
.bbcc-student-portal-resume {
    min-width: 0;
}

.bbcc-student-portal-resume {
    border: 1px solid rgba(36,35,33,.10);
    border-radius: 28px;
    background: rgba(255,255,255,.78);
    padding: clamp(20px, 2.4vw, 30px);
    box-shadow: 0 14px 32px rgba(36,35,33,.055);
    display: grid;
    gap: 12px;
    align-content: start;
}

.bbcc-student-portal-resume h2 {
    margin: 0;
    font-size: clamp(1.3rem, 1.7vw, 1.85rem);
    line-height: 1.14;
}

.bbcc-student-portal-resume p {
    margin: 0;
    color: var(--bbcc-muted);
    line-height: 1.55;
}

.bbcc-student-portal-stats,
.bbcc-room-home-stats {
    gap: 8px;
}

.bbcc-student-portal-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 4px;
}

.bbcc-student-portal-stats div,
.bbcc-room-home-stats div {
    min-height: 58px;
    padding: 10px 12px;
    border-radius: 16px;
}

.bbcc-student-portal-stats strong,
.bbcc-room-home-stats strong {
    font-size: clamp(1.1rem, 1.5vw, 1.55rem);
}

.bbcc-student-portal-stats span,
.bbcc-room-home-stats span {
    font-size: .62rem;
    letter-spacing: .08em;
}

.bbcc-student-next-card {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: clamp(22px, 3vw, 36px);
}

.bbcc-student-course-grid-pro {
    gap: 14px;
}

.bbcc-student-course-card-pro {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: clamp(18px, 2.4vw, 28px);
}

.bbcc-student-course-card-pro h3 {
    font-size: clamp(1.25rem, 1.7vw, 1.75rem);
}

.bbcc-student-course-card-pro p {
    margin-bottom: 10px;
}

.bbcc-student-course-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.bbcc-student-course-metrics span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 5px 10px;
    border: 1px solid rgba(36,35,33,.08);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: var(--bbcc-muted);
    font-size: .72rem;
    font-weight: 760;
}

.bbcc-dashboard-tools-pro {
    gap: 12px;
}

.bbcc-room-home-hero {
    gap: clamp(18px, 2.6vw, 34px);
}

.bbcc-room-home-status {
    padding: clamp(18px, 2.4vw, 28px);
}

.bbcc-room-home-status h2 {
    font-size: clamp(1.22rem, 1.6vw, 1.75rem);
}

.bbcc-room-home-status .bbcc-btn {
    min-height: 34px;
    font-size: .78rem;
}

.bbcc-room-modules-heading-pro {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    border-bottom: 1px solid rgba(36,35,33,.10);
    padding-bottom: 16px;
}

.bbcc-view-toggle {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    border-radius: 999px;
    border: 1px solid rgba(36,35,33,.09);
    background: rgba(255,255,255,.65);
    white-space: nowrap;
}

.bbcc-view-toggle a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 12px;
    border-radius: 999px;
    color: var(--bbcc-muted);
    font-size: .72rem;
    font-weight: 820;
    text-decoration: none;
}

.bbcc-view-toggle a.is-active {
    background: var(--bbcc-olive);
    color: #fff;
    box-shadow: 0 8px 18px rgba(36,35,33,.12);
}

.bbcc-room-module-grid-dashboard {
    align-items: stretch;
}

.bbcc-room-module-dashboard-card {
    position: relative;
    overflow: hidden;
    border-color: rgba(36,35,33,.09);
}

.bbcc-room-module-dashboard-card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: rgba(115,116,94,.38);
    opacity: .7;
}

.bbcc-room-module-dashboard-card .bbcc-room-module-card-head {
    margin-bottom: 0;
}

.bbcc-module-compact-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: -2px;
}

.bbcc-module-compact-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid rgba(36,35,33,.08);
    background: rgba(237,227,213,.38);
    color: var(--bbcc-muted);
    font-size: .68rem;
    font-weight: 780;
}

.bbcc-room-module-grid-resumida .bbcc-room-module-dashboard-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px 20px;
    padding: 16px 18px;
}

.bbcc-room-module-grid-resumida .bbcc-room-module-card-main {
    min-width: 0;
}

.bbcc-room-module-grid-resumida .bbcc-room-module-dashboard-card h3 {
    font-size: clamp(1.18rem, 1.45vw, 1.55rem);
}

.bbcc-room-module-grid-resumida .bbcc-room-module-dashboard-card p,
.bbcc-room-module-grid-resumida .bbcc-module-mini-metrics {
    display: none;
}

.bbcc-room-module-grid-resumida .bbcc-module-compact-meta {
    margin-top: 8px;
}

.bbcc-room-module-grid-resumida .bbcc-room-module-dashboard-card .bbcc-btn {
    justify-self: end;
    align-self: center;
}

.bbcc-room-module-grid-completa .bbcc-module-compact-meta {
    display: none;
}

.bbcc-room-module-grid-completa .bbcc-room-module-dashboard-card {
    min-height: 210px;
}

.bbcc-module-pro-hero {
    align-items: stretch;
}

.bbcc-module-pro-actions {
    flex-wrap: wrap;
}

.bbcc-module-pro-summary div {
    min-height: 70px;
}

.bbcc-module-pro-item {
    border-left: 3px solid transparent;
}

.bbcc-module-pro-item:hover {
    border-left-color: rgba(115,116,94,.52);
}

.bbcc-module-pro-item-index span,
.bbcc-content-module-nav-list a span {
    font-variant-numeric: tabular-nums;
}

.bbcc-content-continue-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 18px;
    background: rgba(255,255,255,.84);
}

.bbcc-content-continue-bar .bbcc-kicker {
    margin: 0;
    font-size: .58rem;
}

.bbcc-content-continue-bar h2,
.bbcc-content-continue-bar p {
    display: none;
}

.bbcc-content-continue-bar .bbcc-content-continue-actions {
    justify-content: flex-end;
    gap: 7px;
}

.bbcc-content-continue-bar .bbcc-btn {
    min-height: 28px;
    padding: 5px 10px;
    font-size: .66rem;
}

.bbcc-content-module-nav-list a {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 4px 8px;
}

.bbcc-content-module-nav-list a em {
    font-size: .56rem;
    letter-spacing: .08em;
}

.bbcc-content-module-nav-list a strong {
    grid-column: 2;
}

.bbcc-pdf-shell-pro {
    min-height: clamp(660px, 76vh, 980px);
}

.bbcc-pdf-frame {
    min-height: clamp(660px, 76vh, 980px);
}

.bbcc-compatible-question {
    border-radius: 18px;
}

.bbcc-compatible-options {
    gap: 9px;
}

.bbcc-compatible-option {
    min-height: 44px;
    border-radius: 14px;
}

@media (max-width: 980px) {
    .bbcc-student-portal-hero,
    .bbcc-student-next-card,
    .bbcc-student-course-card-pro,
    .bbcc-room-modules-heading-pro,
    .bbcc-room-module-grid-resumida .bbcc-room-module-dashboard-card {
        grid-template-columns: 1fr;
    }
    .bbcc-room-modules-heading-pro {
        align-items: start;
    }
    .bbcc-room-module-grid-resumida .bbcc-room-module-dashboard-card .bbcc-btn {
        justify-self: start;
    }
}

@media (max-width: 720px) {
    .bbcc-view-toggle {
        width: 100%;
    }
    .bbcc-view-toggle a {
        flex: 1;
    }
    .bbcc-content-continue-bar {
        align-items: stretch;
        flex-direction: column;
    }
    .bbcc-content-continue-bar .bbcc-content-continue-actions {
        justify-content: flex-start;
    }
}

/* v0.9.2: limpieza UX, navegación interna y reducción de reiteraciones */
.bbcc-student-portal-wrap .bbcc-student-next-step {
    display: none;
}
.bbcc-student-portal-hero {
    gap: clamp(20px, 4vw, 40px);
    align-items: stretch;
}
.bbcc-student-portal-main,
.bbcc-student-portal-resume {
    min-height: 0;
}
.bbcc-student-portal-resume {
    padding: clamp(18px, 2.8vw, 28px);
}
.bbcc-student-portal-resume h2 {
    font-size: clamp(1.05rem, 1.5vw, 1.35rem);
    line-height: 1.16;
    margin-bottom: 8px;
}
.bbcc-student-portal-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}
.bbcc-student-course-card-pro {
    align-items: center;
}
.bbcc-student-course-card-pro h3 {
    font-size: clamp(1.08rem, 1.8vw, 1.35rem);
}
.bbcc-student-course-metrics {
    gap: 6px;
}
.bbcc-student-course-metrics span {
    padding: 5px 9px;
    font-size: .72rem;
}

.bbcc-room-course-nav,
.bbcc-module-top-nav,
.bbcc-content-top-nav {
    width: min(100%, 980px);
    margin: clamp(14px, 2.2vw, 22px) auto 0;
    padding: 7px;
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
    background: rgba(255,255,255,.66);
    border: 1px solid var(--bbcc-border);
    border-radius: 999px;
    box-shadow: 0 14px 34px rgba(36,35,33,.055);
}
.bbcc-room-course-nav a,
.bbcc-module-top-nav a,
.bbcc-content-top-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 13px;
    border-radius: 999px;
    color: var(--bbcc-muted) !important;
    text-decoration: none !important;
    font-weight: 750;
    font-size: .78rem;
    line-height: 1;
    border: 1px solid transparent;
}
.bbcc-room-course-nav a:hover,
.bbcc-room-course-nav a.is-active,
.bbcc-module-top-nav a:hover,
.bbcc-content-top-nav a:hover {
    background: rgba(115,116,94,.13);
    color: var(--bbcc-text) !important;
    border-color: rgba(115,116,94,.22);
}
.bbcc-room-home-hero {
    margin-bottom: 0;
}
.bbcc-room-home-status {
    max-width: 290px;
}
.bbcc-room-home-status .bbcc-btn {
    min-height: 36px;
    padding: 9px 14px;
    font-size: .78rem;
}
.bbcc-room-home-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.bbcc-room-home-stats div,
.bbcc-student-portal-stats div {
    padding: 10px 11px;
    min-height: 58px;
    border-radius: 14px;
}
.bbcc-room-home-stats strong,
.bbcc-student-portal-stats strong {
    font-size: 1.15rem;
}
.bbcc-room-home-stats span,
.bbcc-student-portal-stats span {
    font-size: .64rem;
    letter-spacing: .08em;
}
.bbcc-room-home-grid-welcome {
    grid-template-columns: 1fr;
    margin-top: 18px;
}
.bbcc-room-welcome-card {
    min-height: 0;
    padding: clamp(20px, 3vw, 30px);
}
.bbcc-room-welcome-card h2 {
    font-size: clamp(1.35rem, 2.2vw, 2rem);
}
.bbcc-room-welcome-card p {
    max-width: 860px;
}
.bbcc-room-modules-home {
    margin-top: clamp(26px, 4vw, 42px);
}
.bbcc-room-modules-heading-pro {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
    max-width: none;
    border-bottom: 1px solid rgba(36,35,33,.1);
    padding-bottom: 16px;
}
.bbcc-view-toggle {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    background: rgba(255,255,255,.72);
    border: 1px solid var(--bbcc-border);
    border-radius: 999px;
    white-space: nowrap;
}
.bbcc-view-toggle a {
    min-height: 30px;
    padding: 7px 11px;
    border-radius: 999px;
    text-decoration: none !important;
    color: var(--bbcc-muted) !important;
    font-weight: 750;
    font-size: .72rem;
}
.bbcc-view-toggle a.is-active {
    background: var(--bbcc-olive);
    color: #fff !important;
}
.bbcc-room-module-grid-dashboard {
    gap: 14px;
}
.bbcc-room-module-dashboard-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px 18px;
    min-height: 0;
    padding: 16px 18px;
    border-radius: 20px;
}
.bbcc-room-module-dashboard-card .bbcc-room-module-card-main {
    min-width: 0;
}
.bbcc-room-module-dashboard-card .bbcc-room-module-card-head {
    margin-bottom: 6px;
}
.bbcc-room-module-dashboard-card h3 {
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    margin: 0 0 7px;
}
.bbcc-room-module-dashboard-card p {
    font-size: .84rem;
    line-height: 1.45;
    margin: 6px 0 0;
}
.bbcc-module-compact-meta,
.bbcc-module-mini-metrics {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
.bbcc-module-compact-meta span,
.bbcc-module-mini-metrics span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(237,227,213,.6);
    border: 1px solid rgba(36,35,33,.08);
    color: var(--bbcc-muted);
    font-size: .68rem;
    font-weight: 750;
    line-height: 1;
}
.bbcc-module-mini-metrics {
    justify-content: flex-end;
    max-width: 280px;
}
.bbcc-module-mini-metrics strong {
    color: var(--bbcc-text);
    font-size: .82rem;
}
.bbcc-room-module-dashboard-card .bbcc-btn {
    grid-column: 2;
    justify-self: end;
    min-height: 34px;
    padding: 8px 13px;
    font-size: .72rem;
}
.bbcc-room-module-grid-resumida .bbcc-room-module-dashboard-card {
    grid-template-columns: minmax(0, 1fr) auto;
}
.bbcc-room-module-grid-resumida .bbcc-module-mini-metrics {
    display: none;
}
.bbcc-room-module-grid-completa .bbcc-room-module-dashboard-card {
    grid-template-columns: minmax(0, 1fr) minmax(190px, auto) auto;
}

.bbcc-module-top-nav,
.bbcc-content-top-nav {
    width: min(100%, 760px);
    margin-bottom: 18px;
}
.bbcc-module-pro-layout,
.bbcc-content-view-layout {
    align-items: start;
}
.bbcc-module-pro-sidebar,
.bbcc-content-module-nav {
    position: sticky;
    top: 96px;
}
.bbcc-content-view-hero-pro {
    margin-bottom: 14px;
}
.bbcc-content-view-hero-pro h1 {
    font-size: clamp(1.65rem, 3.2vw, 3.2rem);
}
.bbcc-content-view-hero-pro p {
    margin-top: 8px;
    font-size: .9rem;
}
.bbcc-content-progress-card {
    max-width: 150px;
    padding: 14px;
}
.bbcc-content-progress-card strong {
    font-size: 1.45rem;
}
.bbcc-content-resource-head {
    margin-bottom: 16px;
}
.bbcc-content-resource-head .bbcc-kicker {
    margin-bottom: 8px;
}
.bbcc-content-resource-head p {
    max-width: 720px;
    font-size: .92rem;
    line-height: 1.6;
}
.bbcc-content-view-main .bbcc-content-view-card {
    padding: clamp(18px, 2.6vw, 28px);
}
.bbcc-compatible-question {
    padding: 16px;
    margin-bottom: 14px;
}
.bbcc-compatible-question legend {
    margin-bottom: 12px;
}
.bbcc-compatible-options {
    gap: 8px;
}
.bbcc-compatible-option {
    min-height: 44px;
    border-radius: 12px;
}
.bbcc-answer-tag {
    font-size: .62rem;
    border-radius: 999px;
}
.bbcc-content-continue-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 999px;
}
.bbcc-content-continue-bar .bbcc-kicker {
    margin: 0;
    font-size: .62rem;
    white-space: nowrap;
}
.bbcc-content-continue-actions {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
    flex-wrap: wrap;
}
.bbcc-content-continue-actions .bbcc-btn {
    min-height: 30px;
    padding: 7px 11px;
    font-size: .68rem;
}
.bbcc-content-module-nav-list a {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    grid-template-areas: "num type" "num title";
    gap: 2px 8px;
    align-items: center;
}
.bbcc-content-module-nav-list a span { grid-area: num; }
.bbcc-content-module-nav-list a em { grid-area: type; }
.bbcc-content-module-nav-list a strong { grid-area: title; }

@media (max-width: 900px) {
    .bbcc-room-course-nav,
    .bbcc-module-top-nav,
    .bbcc-content-top-nav {
        border-radius: 18px;
    }
    .bbcc-room-modules-heading-pro {
        align-items: flex-start;
        flex-direction: column;
    }
    .bbcc-room-module-dashboard-card,
    .bbcc-room-module-grid-completa .bbcc-room-module-dashboard-card {
        grid-template-columns: 1fr;
    }
    .bbcc-room-module-dashboard-card .bbcc-btn,
    .bbcc-module-mini-metrics {
        grid-column: auto;
        justify-self: stretch;
        max-width: none;
    }
    .bbcc-content-continue-bar {
        border-radius: 18px;
        align-items: flex-start;
        flex-direction: column;
    }
    .bbcc-content-continue-actions {
        justify-content: flex-start;
    }
}

/* v0.9.3: portada del aula más limpia, sin menú decorativo ni selector de vistas */
.bbcc-room-wrap {
    --bbcc-room-max: 1080px;
}

.bbcc-room-wrap > .bbcc-room-breadcrumb,
.bbcc-room-wrap > .bbcc-room-hero,
.bbcc-room-wrap > .bbcc-room-home-grid,
.bbcc-room-wrap > .bbcc-room-modules {
    max-width: var(--bbcc-room-max);
    margin-left: auto;
    margin-right: auto;
}

.bbcc-room-home-hero {
    grid-template-columns: minmax(0, 1fr) minmax(285px, 340px);
    min-height: clamp(310px, 35vw, 455px);
    padding: clamp(34px, 5vw, 68px);
    align-items: center;
    gap: clamp(26px, 4.5vw, 58px);
    border-radius: 32px;
    margin-top: 6px;
    margin-bottom: clamp(22px, 3vw, 34px);
}

.bbcc-room-home-hero .bbcc-room-hero-main h1 {
    font-size: clamp(2.55rem, 5.3vw, 5.35rem);
    line-height: .94;
    letter-spacing: -.045em;
    max-width: 760px;
}

.bbcc-room-home-hero .bbcc-room-hero-main p {
    max-width: 620px;
    font-size: clamp(.98rem, 1.12vw, 1.08rem);
    line-height: 1.62;
    margin-top: 22px;
}

.bbcc-room-home-status {
    max-width: none;
    width: 100%;
    padding: clamp(18px, 2.2vw, 26px);
    border-radius: 24px;
    align-self: center;
}

.bbcc-room-home-status h2 {
    font-size: clamp(1.25rem, 1.75vw, 1.85rem);
}

.bbcc-room-home-status .bbcc-btn {
    min-height: 38px;
    font-size: .78rem;
}

.bbcc-room-home-stats {
    gap: 7px;
}

.bbcc-room-home-stats div {
    min-height: 50px;
    padding: 8px 10px;
    border-radius: 13px;
}

.bbcc-room-home-stats strong {
    font-size: 1.02rem;
}

.bbcc-room-home-stats span {
    font-size: .54rem;
    letter-spacing: .07em;
}

.bbcc-room-course-nav,
.bbcc-view-toggle {
    display: none !important;
}

.bbcc-room-home-grid-welcome {
    margin-top: 0;
    margin-bottom: clamp(24px, 3vw, 36px);
}

.bbcc-room-welcome-card {
    padding: clamp(22px, 3vw, 34px);
    border-radius: 26px;
}

.bbcc-room-welcome-card h2 {
    font-size: clamp(1.55rem, 2.7vw, 2.65rem);
    line-height: 1.08;
}

.bbcc-room-welcome-card p {
    font-size: .95rem;
    line-height: 1.64;
}

.bbcc-room-modules-heading-pro {
    display: block;
    padding-bottom: 14px;
    margin-bottom: 18px;
}

.bbcc-room-modules-heading-pro h2 {
    font-size: clamp(1.65rem, 2.55vw, 2.65rem);
    margin: 4px 0 8px;
}

.bbcc-room-modules-heading-pro p {
    max-width: 720px;
    font-size: .92rem;
}

.bbcc-room-modules-home .bbcc-room-module-grid-dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.bbcc-room-module-grid-resumida .bbcc-room-module-dashboard-card,
.bbcc-room-module-dashboard-card {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 132px;
    padding: 20px 22px;
    border-radius: 22px;
    align-items: center;
}

.bbcc-room-module-dashboard-card .bbcc-room-module-card-head {
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin-bottom: 10px;
}

.bbcc-room-module-dashboard-card .bbcc-module-status {
    margin-left: auto;
}

.bbcc-room-module-dashboard-card h3 {
    font-size: clamp(1.25rem, 1.85vw, 1.8rem);
    margin: 0 0 8px;
}

.bbcc-module-compact-meta {
    gap: 6px;
}

.bbcc-module-compact-meta span {
    padding: 6px 9px;
    font-size: .68rem;
    background: rgba(248,244,237,.78);
}

.bbcc-room-module-grid-resumida .bbcc-module-mini-metrics {
    display: none !important;
}

.bbcc-room-module-dashboard-card .bbcc-btn {
    align-self: end;
    justify-self: end;
    min-height: 34px;
    padding: 8px 14px;
}

@media (max-width: 980px) {
    .bbcc-room-home-hero,
    .bbcc-room-modules-home .bbcc-room-module-grid-dashboard,
    .bbcc-room-module-grid-resumida .bbcc-room-module-dashboard-card,
    .bbcc-room-module-dashboard-card {
        grid-template-columns: 1fr;
    }
    .bbcc-room-home-hero {
        min-height: 0;
    }
    .bbcc-room-module-dashboard-card .bbcc-module-status {
        margin-left: 0;
    }
    .bbcc-room-module-dashboard-card .bbcc-btn {
        justify-self: start;
    }
}

@media (max-width: 680px) {
    .bbcc-room-home-hero {
        padding: 26px 20px;
        border-radius: 24px;
    }
    .bbcc-room-home-hero .bbcc-room-hero-main h1 {
        font-size: clamp(2.1rem, 13vw, 3.2rem);
    }
    .bbcc-room-home-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bbcc-room-module-dashboard-card {
        padding: 18px;
    }
}


/* v0.9.5: limpieza final de rótulos y menús internos */
.bbcc-room-home-status > p { margin-top: 10px; }
.bbcc-room-home-status .bbcc-btn { margin-top: 12px; }
.bbcc-room-modules-home > .bbcc-room-module-grid { margin-top: 0; }
.bbcc-room-home-grid-welcome .bbcc-room-home-actions { display:none !important; }


/* v0.9.5: quitar menús internos solicitados */
.bbcc-module-top-nav,
.bbcc-content-top-nav {
    display: none !important;
}
.bbcc-room-welcome-card > .bbcc-kicker {
    display: none !important;
}

/* v0.10.0: progreso real, continuidad y estados de recorrido */
.bbcc-progress-widget {
    display: grid;
    gap: 7px;
    margin-top: 12px;
}
.bbcc-progress-bar {
    width: 100%;
    height: 7px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(36,35,33,0.10);
    border: 1px solid rgba(36,35,33,0.08);
}
.bbcc-progress-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--bbcc-olive);
    box-shadow: 0 8px 18px rgba(115,116,94,.18);
}
.bbcc-progress-label {
    margin: 0 !important;
    color: var(--bbcc-muted) !important;
    font-size: .78rem !important;
    line-height: 1.35 !important;
}
.bbcc-room-home-status .bbcc-progress-label,
.bbcc-student-portal-resume .bbcc-progress-label {
    font-size: .74rem !important;
}
.bbcc-student-course-progress,
.bbcc-module-card-progress {
    margin-top: 12px;
    max-width: 360px;
}
.bbcc-module-card-progress .bbcc-progress-label {
    font-size: .72rem !important;
}
.bbcc-room-module-dashboard-card.bbcc-module-status-completed {
    border-color: rgba(115,116,94,.36);
    background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(237,227,213,.54));
}
.bbcc-module-status {
    border-radius: 999px;
    padding: 5px 9px;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: rgba(115,116,94,.09);
    color: var(--bbcc-olive);
}
.bbcc-module-status-completed .bbcc-module-status {
    background: rgba(115,116,94,.16);
}
.bbcc-module-status-in_progress .bbcc-module-status {
    background: rgba(181,167,149,.22);
}
.bbcc-module-pro-summary .bbcc-module-progress-wide {
    grid-column: 1 / -1;
    display: block;
    padding: 12px 14px;
}
.bbcc-module-pro-summary .bbcc-module-progress-wide .bbcc-progress-label {
    font-size: .72rem !important;
}
.bbcc-module-pro-item.is-completed {
    border-color: rgba(115,116,94,.28);
}
.bbcc-content-state {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 5px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    background: rgba(36,35,33,.06);
    color: var(--bbcc-muted);
}
.bbcc-content-state.is-completed {
    background: rgba(115,116,94,.16);
    color: var(--bbcc-olive);
}
.bbcc-module-pro-nav a.bbcc-module-nav-status-completed,
.bbcc-content-module-nav-list a.is-completed {
    border-color: rgba(115,116,94,.28);
    background: rgba(237,227,213,.44);
}
.bbcc-module-pro-nav a.bbcc-module-nav-status-completed strong,
.bbcc-content-module-nav-list a.is-completed strong {
    color: var(--bbcc-text);
}
.bbcc-content-progress-card small {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
}
.bbcc-content-is-completed .bbcc-content-progress-card small {
    color: var(--bbcc-olive);
}
.bbcc-content-complete-form {
    display: inline-flex;
    margin: 0;
}
.bbcc-content-complete-form .bbcc-btn {
    cursor: pointer;
    border: 0;
    font-family: inherit;
}
.bbcc-content-continue-bar {
    align-items: center;
}
.bbcc-content-continue-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}
.bbcc-student-portal-resume .bbcc-progress-widget {
    margin-bottom: 10px;
}
@media (max-width: 760px) {
    .bbcc-content-continue-actions {
        justify-content: stretch;
    }
    .bbcc-content-continue-actions .bbcc-btn,
    .bbcc-content-complete-form,
    .bbcc-content-complete-form .bbcc-btn {
        width: 100%;
    }
    .bbcc-module-card-progress,
    .bbcc-student-course-progress {
        max-width: none;
    }
}

/* v0.11.0 - Consultas del curso */
.bbcc-consultation-panel {
    margin-top: 28px;
}
.bbcc-consultation-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: 18px;
    align-items: start;
}
.bbcc-consultation-card {
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(109,98,88,.14);
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 18px 42px rgba(36,35,33,.06);
}
.bbcc-consultation-form-card {
    background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(237,227,213,.48));
}
.bbcc-consultation-card h2,
.bbcc-consultation-card h3 {
    margin-top: 6px;
    margin-bottom: 8px;
}
.bbcc-consultation-card p {
    color: var(--bbcc-muted);
}
.bbcc-consultation-form {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}
.bbcc-consultation-form label {
    display: grid;
    gap: 6px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--bbcc-muted);
}
.bbcc-consultation-form input,
.bbcc-consultation-form textarea {
    width: 100%;
    border: 1px solid rgba(109,98,88,.22);
    border-radius: 16px;
    padding: 12px 14px;
    background: rgba(255,255,255,.94);
    color: var(--bbcc-text);
    font: inherit;
    text-transform: none;
    letter-spacing: normal;
    font-weight: 500;
}
.bbcc-consultation-form textarea {
    min-height: 118px;
    resize: vertical;
}
.bbcc-notice {
    border-radius: 16px;
    padding: 11px 13px;
    margin: 14px 0 6px;
    font-size: .88rem;
    font-weight: 700;
}
.bbcc-notice-ok {
    background: rgba(115,116,94,.14);
    color: var(--bbcc-olive);
}
.bbcc-notice-warn {
    background: rgba(181,167,149,.20);
    color: var(--bbcc-text);
}
.bbcc-muted-text {
    margin-bottom: 0;
}
.bbcc-consultation-list {
    display: grid;
    gap: 10px;
    margin-top: 15px;
}
.bbcc-consultation-item {
    border: 1px solid rgba(109,98,88,.13);
    border-radius: 18px;
    padding: 14px;
    background: rgba(248,244,237,.72);
}
.bbcc-consultation-item-head {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 8px;
}
.bbcc-consultation-item-head strong {
    font-size: .94rem;
    line-height: 1.25;
}
.bbcc-consultation-item-head span {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 4px 8px;
    background: rgba(36,35,33,.07);
    color: var(--bbcc-muted);
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.bbcc-consultation-status-respondida .bbcc-consultation-item-head span {
    background: rgba(115,116,94,.16);
    color: var(--bbcc-olive);
}
.bbcc-consultation-response {
    margin-top: 12px;
    padding: 12px 13px;
    border-radius: 15px;
    background: rgba(255,255,255,.82);
    border-left: 3px solid var(--bbcc-olive);
}
.bbcc-consultation-response span {
    display: block;
    margin-bottom: 4px;
    color: var(--bbcc-olive);
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.bbcc-consultation-response p {
    margin: 0;
    color: var(--bbcc-text);
}
@media (max-width: 900px) {
    .bbcc-consultation-grid {
        grid-template-columns: 1fr;
    }
}

/* v0.11.5 — Avisos del curso */
.bbcc-notices-panel {
    margin-top: clamp(24px, 3vw, 40px);
}

.bbcc-notices-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.bbcc-notice-card {
    background: rgba(248, 244, 237, 0.86);
    border: 1px solid rgba(109, 98, 88, 0.16);
    border-radius: 22px;
    padding: 20px;
    box-shadow: 0 14px 34px rgba(36, 35, 33, 0.06);
}

.bbcc-notice-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.bbcc-notice-meta span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 10px;
    background: rgba(115, 116, 94, 0.12);
    color: #5f604c;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.bbcc-notice-meta small {
    color: #6D6258;
    font-size: 0.86rem;
}

.bbcc-notice-card h3 {
    margin: 0 0 8px;
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    line-height: 1.35;
    color: #242321;
}

.bbcc-notice-card p {
    margin: 0;
    color: #6D6258;
    line-height: 1.62;
}

.bbcc-notice-link {
    display: inline-flex;
    margin-top: 14px;
    font-weight: 700;
    color: #73745E;
    text-decoration: none;
}

.bbcc-notice-link:hover {
    text-decoration: underline;
}

@media (max-width: 760px) {
    .bbcc-notices-list {
        grid-template-columns: 1fr;
    }
}

/* v0.12.0 - Clases en vivo / agenda */
.bbcc-live-agenda {
    margin-top: clamp(28px, 4vw, 54px);
}
.bbcc-live-agenda-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}
.bbcc-live-card {
    background: #fffaf2;
    border: 1px solid rgba(109, 98, 88, 0.18);
    border-radius: 22px;
    padding: 20px;
    box-shadow: 0 14px 34px rgba(36, 35, 33, 0.055);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.bbcc-live-card-top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    font-size: .78rem;
    color: #6D6258;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.bbcc-live-card-top span {
    background: rgba(115,116,94,.12);
    color: #5f604f;
    border-radius: 999px;
    padding: 5px 9px;
    font-weight: 700;
}
.bbcc-live-card h3 {
    margin: 0;
    color: #242321;
    font-size: 1.05rem;
    line-height: 1.25;
}
.bbcc-live-card p {
    margin: 0;
    color: #6D6258;
    line-height: 1.55;
}
.bbcc-live-module {
    font-size: .9rem;
    color: #73745E !important;
}
.bbcc-live-actions,
.bbcc-meeting-details {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 6px;
}
.bbcc-meeting-details span {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    border: 1px solid rgba(109, 98, 88, 0.18);
    border-radius: 14px;
    padding: 10px 12px;
    background: rgba(248,244,237,.8);
    color: #242321;
    min-width: 120px;
}
.bbcc-meeting-details strong {
    font-size: .72rem;
    color: #6D6258;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.bbcc-live-status-grabacion .bbcc-live-card-top span {
    background: rgba(181,167,149,.18);
    color: #6D6258;
}
.bbcc-live-status-realizada .bbcc-live-card-top span {
    background: rgba(109,98,88,.12);
    color: #6D6258;
}
@media (max-width: 640px) {
    .bbcc-live-card-top { align-items: flex-start; flex-direction: column; }
    .bbcc-live-actions .bbcc-btn { width: 100%; justify-content: center; }
}

/* v0.12.1 - Agenda compacta de clases en vivo */
.bbcc-live-agenda-compact {
    margin-top: clamp(18px, 3vw, 34px);
}

.bbcc-live-agenda-shell {
    background: linear-gradient(135deg, rgba(248,244,237,.96), rgba(237,227,213,.72));
    border: 1px solid rgba(109, 98, 88, 0.16);
    border-radius: 24px;
    padding: clamp(18px, 2.4vw, 28px);
    box-shadow: 0 16px 42px rgba(36, 35, 33, 0.045);
}

.bbcc-live-agenda-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.bbcc-live-agenda-icon {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fffaf2;
    border: 1px solid rgba(109, 98, 88, 0.14);
    color: #73745E;
    font-size: 1.1rem;
    flex: 0 0 auto;
}

.bbcc-live-agenda-head h2 {
    margin: 2px 0 0;
    color: #242321;
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    line-height: 1.15;
}

.bbcc-live-agenda-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bbcc-live-item {
    background: rgba(255, 250, 242, .86);
    border: 1px solid rgba(109, 98, 88, 0.14);
    border-radius: 18px;
    overflow: hidden;
}

.bbcc-live-item summary {
    list-style: none;
    cursor: pointer;
    display: grid;
    grid-template-columns: minmax(110px, 160px) 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
}

.bbcc-live-item summary::-webkit-details-marker {
    display: none;
}

.bbcc-live-datebox {
    display: flex;
    flex-direction: column;
    gap: 3px;
    border-radius: 14px;
    padding: 10px 12px;
    background: #F8F4ED;
    border: 1px solid rgba(109,98,88,.12);
    color: #242321;
}

.bbcc-live-datebox strong {
    font-size: .9rem;
    line-height: 1.2;
}

.bbcc-live-datebox em {
    font-style: normal;
    color: #6D6258;
    font-size: .78rem;
}

.bbcc-live-summary-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bbcc-live-status-pill {
    width: fit-content;
    background: rgba(115,116,94,.12);
    color: #5f604f;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.bbcc-live-title {
    font-weight: 800;
    color: #242321;
    font-size: .98rem;
    line-height: 1.25;
}

.bbcc-live-summary-main small {
    color: #6D6258;
    font-size: .82rem;
}

.bbcc-live-chevron {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(115,116,94,.10);
    color: #73745E;
    transition: transform .18s ease;
}

.bbcc-live-item[open] .bbcc-live-chevron {
    transform: rotate(180deg);
}

.bbcc-live-item-body {
    padding: 0 16px 16px calc(16px + min(160px, 24vw) + 14px);
    color: #6D6258;
}

.bbcc-live-item-body p {
    margin: 0 0 12px;
    line-height: 1.6;
}

.bbcc-live-item-body .bbcc-live-actions {
    margin-top: 0;
}

.bbcc-live-status-grabacion .bbcc-live-status-pill,
.bbcc-live-status-realizada .bbcc-live-status-pill {
    background: rgba(181,167,149,.18);
    color: #6D6258;
}

@media (max-width: 720px) {
    .bbcc-live-item summary {
        grid-template-columns: 1fr auto;
    }
    .bbcc-live-datebox {
        grid-column: 1 / -1;
    }
    .bbcc-live-item-body {
        padding: 0 16px 16px;
    }
    .bbcc-live-actions .bbcc-btn {
        width: 100%;
        justify-content: center;
    }
}

/* v0.12.2 BuddyPress community integration */
.bbcc-bp-community-panel {
    background: #f8f4ed;
    border: 1px solid rgba(36, 35, 33, .08);
    border-radius: 24px;
    padding: 28px;
    margin-top: 28px;
}
.bbcc-bp-community-head {
    max-width: 760px;
    margin-bottom: 18px;
}
.bbcc-bp-community-head h2 {
    margin: 6px 0 8px;
    font-size: clamp(1.35rem, 2vw, 1.95rem);
    letter-spacing: -.02em;
}
.bbcc-bp-community-head p {
    margin: 0;
    color: #6d6258;
    line-height: 1.6;
}
.bbcc-bp-community-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.bbcc-bp-community-card {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "icon title" "icon text";
    gap: 2px 14px;
    align-items: center;
    padding: 18px;
    background: #fff;
    border: 1px solid rgba(36, 35, 33, .08);
    border-radius: 18px;
    text-decoration: none;
    color: #242321;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.bbcc-bp-community-card:hover {
    transform: translateY(-1px);
    border-color: rgba(115, 116, 94, .35);
    box-shadow: 0 12px 28px rgba(36, 35, 33, .08);
}
.bbcc-bp-community-icon {
    grid-area: icon;
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ede3d5;
    color: #73745e;
    font-weight: 700;
}
.bbcc-bp-community-card strong {
    grid-area: title;
    font-size: .98rem;
}
.bbcc-bp-community-card em {
    grid-area: text;
    font-style: normal;
    color: #6d6258;
    font-size: .88rem;
}
@media (max-width: 720px) {
    .bbcc-bp-community-panel { padding: 20px; }
    .bbcc-bp-community-actions { grid-template-columns: 1fr; }
}

/* v0.13.0 - Certificados y cierre de curso */
.bbcc-certificate-status {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr);
    gap: 28px;
    align-items: center;
    background: linear-gradient(135deg, rgba(248,244,237,.98), rgba(237,227,213,.72));
    border: 1px solid rgba(181,167,149,.42);
    border-radius: 28px;
    padding: 30px;
    box-shadow: 0 18px 48px rgba(36,35,33,.07);
}
.bbcc-certificate-status h2 { margin: 6px 0 10px; }
.bbcc-certificate-data-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.bbcc-certificate-data-list span {
    display: inline-flex;
    flex-direction: column;
    gap: 3px;
    min-width: 140px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(181,167,149,.34);
    color: #242321;
}
.bbcc-certificate-data-list strong {
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #6D6258;
}
.bbcc-certificate-status-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 12px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.6);
    border: 1px solid rgba(181,167,149,.36);
}
.bbcc-certificate-view-wrap { max-width: 1180px; }
.bbcc-certificate-shell {
    display: grid;
    gap: 22px;
    margin-top: 22px;
}
.bbcc-certificate-paper {
    position: relative;
    min-height: 560px;
    padding: 72px 76px;
    border-radius: 30px;
    background:
        linear-gradient(135deg, rgba(248,244,237,.96), rgba(255,255,255,.92)),
        radial-gradient(circle at top right, rgba(115,116,94,.10), transparent 38%);
    border: 1px solid rgba(181,167,149,.55);
    box-shadow: 0 28px 80px rgba(36,35,33,.12);
    text-align: center;
    overflow: hidden;
}
.bbcc-certificate-paper:before,
.bbcc-certificate-paper:after {
    content: "";
    position: absolute;
    inset: 24px;
    border: 1px solid rgba(115,116,94,.28);
    border-radius: 22px;
    pointer-events: none;
}
.bbcc-certificate-paper:after {
    inset: 34px;
    border-color: rgba(181,167,149,.32);
}
.bbcc-certificate-label {
    display: inline-block;
    margin-bottom: 42px;
    color: #73745E;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.bbcc-certificate-paper h1 {
    margin: 0;
    color: #242321;
    font-size: clamp(34px, 6vw, 64px);
    line-height: 1.05;
    font-weight: 600;
}
.bbcc-certificate-text {
    max-width: 720px;
    margin: 34px auto 20px;
    color: #6D6258;
    font-size: 18px;
    line-height: 1.8;
}
.bbcc-certificate-paper h2 {
    max-width: 820px;
    margin: 0 auto 18px;
    color: #242321;
    font-size: clamp(25px, 4vw, 42px);
    line-height: 1.2;
    font-weight: 600;
}
.bbcc-certificate-hours {
    margin: 18px auto 0;
    color: #73745E;
    font-size: 17px;
    font-weight: 600;
}
.bbcc-certificate-footer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 24px;
    max-width: 760px;
    margin: 76px auto 0;
    padding-top: 28px;
    border-top: 1px solid rgba(181,167,149,.55);
    text-align: left;
}
.bbcc-certificate-footer div { display: grid; gap: 4px; }
.bbcc-certificate-footer strong {
    color: #6D6258;
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.bbcc-certificate-footer span { color: #242321; font-weight: 600; }
.bbcc-certificate-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
@media (max-width: 860px) {
    .bbcc-certificate-status { grid-template-columns: 1fr; padding: 22px; }
    .bbcc-certificate-paper { padding: 54px 28px; min-height: 480px; }
    .bbcc-certificate-footer { grid-template-columns: 1fr; text-align: center; }
}
@media print {
    body * { visibility: hidden !important; }
    .bbcc-certificate-paper, .bbcc-certificate-paper * { visibility: visible !important; }
    .bbcc-certificate-paper {
        position: fixed;
        inset: 0;
        width: auto;
        min-height: auto;
        margin: 0;
        border-radius: 0;
        box-shadow: none;
        background: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .no-print { display: none !important; }
}

/* v0.13.1 — Unidades finales: comunidad y certificado Tutor LMS */
.bbcc-extra-unit-card {
    background: linear-gradient(135deg, rgba(248,244,237,.98), rgba(255,255,255,.92));
    border-style: dashed;
}
.bbcc-extra-unit-card .bbcc-module-status { background: rgba(115,116,94,.12); color: #5F5A53; }
.bbcc-extra-unit-community { border-color: rgba(115,116,94,.36); }
.bbcc-extra-unit-certificate { border-color: rgba(181,167,149,.55); }
.bbcc-community-view-wrap { max-width: 1180px; }
.bbcc-community-hero {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 24px;
    align-items: end;
    padding: 34px;
    border-radius: 30px;
    background: linear-gradient(135deg, rgba(248,244,237,.98), rgba(237,227,213,.82));
    border: 1px solid rgba(181,167,149,.45);
    margin-bottom: 24px;
}
.bbcc-community-hero h1 { margin: 6px 0 8px; color: #242321; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; }
.bbcc-community-hero p { max-width: 720px; margin: 0; color: #6D6258; line-height: 1.7; }
.bbcc-community-layout {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr);
    gap: 22px;
    align-items: start;
}
.bbcc-community-message-card,
.bbcc-community-group-card,
.bbcc-tutor-certificate-card {
    padding: 28px;
    border-radius: 26px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(181,167,149,.42);
    box-shadow: 0 18px 50px rgba(36,35,33,.06);
}
.bbcc-community-message-card h2,
.bbcc-community-group-card h2,
.bbcc-tutor-certificate-card h1 { margin: 6px 0 12px; color: #242321; }
.bbcc-community-message-card p,
.bbcc-community-group-card p,
.bbcc-tutor-certificate-card p { color: #6D6258; line-height: 1.7; }
.bbcc-community-message-form { display: grid; gap: 16px; margin-top: 16px; }
.bbcc-community-message-form label { display: grid; gap: 7px; color: #6D6258; font-size: 13px; font-weight: 600; }
.bbcc-community-message-form input,
.bbcc-community-message-form textarea {
    width: 100%;
    border: 1px solid rgba(181,167,149,.55);
    border-radius: 16px;
    padding: 13px 14px;
    background: rgba(248,244,237,.58);
    color: #242321;
    font: inherit;
}
.bbcc-community-message-form textarea { min-height: 190px; resize: vertical; }
.bbcc-community-status {
    margin: 0 0 18px;
    padding: 14px 18px;
    border-radius: 16px;
    background: rgba(115,116,94,.10);
    border: 1px solid rgba(115,116,94,.25);
    color: #5F5A53;
    font-weight: 600;
}
.bbcc-community-status-error,
.bbcc-community-status-empty,
.bbcc-community-status-inactive,
.bbcc-community-status-recipient { background: rgba(181,167,149,.15); color: #6D6258; }
.bbcc-tutor-certificate-card { max-width: 860px; margin: 24px auto 0; text-align: center; }
.bbcc-tutor-certificate-card .bbcc-progress-line { margin: 20px auto; max-width: 520px; }
.bbcc-tutor-certificate-card .bbcc-btn { margin: 8px; }
@media (max-width: 860px) {
    .bbcc-community-hero,
    .bbcc-community-layout { grid-template-columns: 1fr; }
    .bbcc-community-hero { padding: 24px; }
}

/* v0.13.2: consultas BuddyPress con historial lateral dentro del Campus */
.bbcc-community-layout-threaded {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
}
.bbcc-community-main-column {
    display: grid;
    gap: 22px;
    min-width: 0;
}
.bbcc-community-history-card {
    position: sticky;
    top: 96px;
    padding: 24px;
    border-radius: 26px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(181,167,149,.42);
    box-shadow: 0 18px 50px rgba(36,35,33,.06);
}
.bbcc-community-history-card h2 {
    margin: 6px 0 14px;
    color: #242321;
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.1;
}
.bbcc-community-history-empty {
    margin: 0;
    color: #6D6258;
    line-height: 1.65;
}
.bbcc-community-thread-list {
    display: grid;
    gap: 10px;
}
.bbcc-community-thread {
    border: 1px solid rgba(181,167,149,.45);
    border-radius: 18px;
    background: rgba(248,244,237,.52);
    overflow: hidden;
}
.bbcc-community-thread[open] {
    background: rgba(237,227,213,.58);
    border-color: rgba(115,116,94,.32);
}
.bbcc-community-thread summary {
    cursor: pointer;
    list-style: none;
    display: grid;
    gap: 6px;
    padding: 13px 14px;
}
.bbcc-community-thread summary::-webkit-details-marker { display: none; }
.bbcc-community-thread-title {
    color: #242321;
    font-weight: 700;
    line-height: 1.25;
}
.bbcc-community-thread-meta {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    color: #6D6258;
    font-size: 12px;
}
.bbcc-community-thread-meta strong {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(115,116,94,.13);
    color: #73745E;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.bbcc-community-thread-messages {
    display: grid;
    gap: 8px;
    padding: 0 12px 12px;
}
.bbcc-community-thread-message {
    padding: 11px 12px;
    border-radius: 14px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(181,167,149,.32);
}
.bbcc-community-thread-message.is-me {
    background: rgba(248,244,237,.84);
}
.bbcc-community-thread-message.is-reply {
    background: rgba(255,255,255,.9);
    border-color: rgba(115,116,94,.24);
}
.bbcc-community-thread-message-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 5px;
    color: #6D6258;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.bbcc-community-thread-message-head strong {
    color: #73745E;
}
.bbcc-community-thread-message p {
    margin: 0;
    color: #242321;
    line-height: 1.55;
    font-size: 13px;
}
@media (max-width: 980px) {
    .bbcc-community-layout-threaded {
        grid-template-columns: 1fr;
    }
    .bbcc-community-history-card {
        position: static;
    }
}

/* ==========================================================
   v0.15.0 — Pulido visual integral del aula Campus
   Capa estética conservadora: no altera lógica ni rutas.
   ========================================================== */

body.bbcc-page-room .bbcc-wrap,
body.bbcc-page-dashboard .bbcc-wrap {
    max-width: 1160px;
}

body.bbcc-page-room .bbcc-room-wrap {
    padding-top: clamp(18px, 3vw, 34px);
}

.bbcc-room-breadcrumb {
    max-width: 1160px;
    margin: 0 auto 18px;
    padding: 10px 14px;
    border: 1px solid rgba(181,167,149,.34);
    border-radius: 999px;
    background: rgba(255,255,255,.58);
    color: var(--bbcc-muted);
    font-size: 13px;
    line-height: 1.2;
    box-shadow: 0 10px 28px rgba(36,35,33,.035);
}

.bbcc-room-breadcrumb a {
    color: var(--bbcc-muted) !important;
    font-weight: 650;
    text-decoration: none !important;
}

.bbcc-room-breadcrumb a:hover {
    color: var(--bbcc-olive) !important;
}

.bbcc-room-home-hero,
.bbcc-module-pro-hero,
.bbcc-content-view-pro .bbcc-content-view-hero-pro,
.bbcc-community-hero {
    border-radius: 28px;
    border: 1px solid rgba(181,167,149,.42);
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.72), transparent 36%),
        linear-gradient(135deg, rgba(248,244,237,.98), rgba(237,227,213,.82));
    box-shadow: 0 18px 48px rgba(36,35,33,.065);
}

.bbcc-room-home-hero {
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: clamp(18px, 3vw, 32px);
    align-items: stretch;
    padding: clamp(26px, 4vw, 46px);
}

.bbcc-room-home-hero .bbcc-room-hero-main h1,
.bbcc-module-pro-main h1,
.bbcc-content-view-pro .bbcc-content-view-hero-pro h1,
.bbcc-community-hero h1 {
    letter-spacing: -0.035em;
    line-height: 1.04;
}

.bbcc-room-home-hero .bbcc-room-hero-main p,
.bbcc-module-pro-main p,
.bbcc-content-view-pro .bbcc-content-view-hero-pro p,
.bbcc-community-hero p {
    max-width: 720px;
    color: var(--bbcc-muted);
    line-height: 1.68;
}

.bbcc-room-home-status {
    align-self: stretch;
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(181,167,149,.38);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.bbcc-room-home-status > p {
    margin: 0;
    font-size: 14px;
}

.bbcc-room-home-status .bbcc-btn {
    width: 100%;
    margin-top: 2px;
}

.bbcc-progress-widget-room,
.bbcc-module-card-progress,
.bbcc-module-progress-wide,
.bbcc-content-progress-card {
    background: rgba(248,244,237,.74);
    border: 1px solid rgba(181,167,149,.32);
    border-radius: 18px;
}

.bbcc-progress-widget-room {
    padding: 14px;
}

.bbcc-progress-bar {
    height: 8px;
    background: rgba(181,167,149,.26);
    border-radius: 999px;
    overflow: hidden;
}

.bbcc-progress-bar span {
    border-radius: inherit;
    background: linear-gradient(90deg, var(--bbcc-olive), #8f8e72);
}

.bbcc-progress-label {
    margin-top: 8px;
    color: var(--bbcc-muted);
    font-size: 12px;
    line-height: 1.35;
}

.bbcc-room-home-grid-welcome {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 18px;
}

.bbcc-room-welcome-card {
    padding: 20px 22px;
    border-radius: 22px;
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(181,167,149,.34);
    box-shadow: none;
}

.bbcc-room-welcome-card h2 {
    margin-bottom: 6px;
    font-size: clamp(19px, 2vw, 25px);
}

.bbcc-room-welcome-card p {
    max-width: 880px;
    margin: 0;
    color: var(--bbcc-muted);
    font-size: 14px;
    line-height: 1.65;
}

.bbcc-room-modules-home {
    margin-top: clamp(30px, 5vw, 54px);
}

.bbcc-room-modules-heading {
    max-width: 820px;
    margin-bottom: 18px;
}

.bbcc-room-modules-heading h2 {
    margin-bottom: 8px;
    font-size: clamp(27px, 3.2vw, 40px);
}

.bbcc-room-modules-heading p {
    margin: 0;
    color: var(--bbcc-muted);
    line-height: 1.65;
}

.bbcc-room-module-grid-dashboard {
    gap: 16px;
}

.bbcc-room-module-dashboard-card {
    min-height: 0;
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(181,167,149,.38);
    box-shadow: 0 14px 36px rgba(36,35,33,.055);
}

.bbcc-room-module-dashboard-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 44px rgba(36,35,33,.075);
}

.bbcc-room-module-dashboard-card .bbcc-room-module-card-head {
    margin-bottom: 14px;
}

.bbcc-room-module-dashboard-card .bbcc-module-index,
.bbcc-room-module-dashboard-card .bbcc-module-status,
.bbcc-content-state,
.bbcc-room-item-type {
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: .055em;
}

.bbcc-room-module-dashboard-card h3 {
    margin-bottom: 10px;
    font-size: clamp(20px, 2vw, 26px);
    line-height: 1.18;
}

.bbcc-module-compact-meta {
    gap: 7px;
    margin-top: 8px;
}

.bbcc-module-compact-meta span {
    background: rgba(248,244,237,.82);
    border-color: rgba(181,167,149,.34);
    color: var(--bbcc-muted);
    font-size: 12px;
}

.bbcc-module-mini-metrics {
    display: none !important;
}

.bbcc-room-module-dashboard-card .bbcc-btn {
    margin-top: 18px;
}

.bbcc-extra-unit-card {
    background: linear-gradient(135deg, rgba(248,244,237,.88), rgba(255,255,255,.76));
    border-style: solid;
    box-shadow: none;
}

.bbcc-extra-unit-card .bbcc-btn {
    background: rgba(255,255,255,.72);
    color: var(--bbcc-text) !important;
    border: 1px solid rgba(181,167,149,.48);
    box-shadow: none;
}

.bbcc-extra-unit-card .bbcc-btn:hover {
    background: var(--bbcc-olive);
    color: #fff !important;
}

.bbcc-extra-unit-community {
    border-left: 4px solid rgba(115,116,94,.72);
}

.bbcc-extra-unit-certificate {
    border-left: 4px solid rgba(181,167,149,.95);
}

.bbcc-module-pro-hero {
    padding: clamp(24px, 4vw, 42px);
    gap: 22px;
}

.bbcc-module-pro-actions {
    margin-top: 24px;
}

.bbcc-module-pro-summary {
    border-radius: 24px;
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(181,167,149,.36);
    box-shadow: none;
}

.bbcc-module-pro-summary div {
    border-radius: 18px;
    background: rgba(248,244,237,.7);
}

.bbcc-module-pro-content,
.bbcc-module-pro-side-card,
.bbcc-content-module-nav,
.bbcc-community-message-card,
.bbcc-community-history-card,
.bbcc-community-group-card,
.bbcc-tutor-certificate-card {
    border-radius: 24px;
    border: 1px solid rgba(181,167,149,.38);
    background: rgba(255,255,255,.74);
    box-shadow: 0 14px 38px rgba(36,35,33,.052);
}

.bbcc-module-pro-list {
    gap: 12px;
}

.bbcc-module-pro-item {
    padding: 15px;
    border-radius: 20px;
    background: rgba(248,244,237,.48);
    border: 1px solid rgba(181,167,149,.32);
    box-shadow: none;
}

.bbcc-module-pro-item:hover {
    background: rgba(255,255,255,.86);
    border-color: rgba(115,116,94,.32);
}

.bbcc-module-pro-item-index span,
.bbcc-module-pro-item-icon {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(181,167,149,.32);
}

.bbcc-module-pro-item-copy h3 {
    margin: 3px 0 6px;
    font-size: clamp(16px, 1.7vw, 20px);
    line-height: 1.25;
}

.bbcc-module-pro-item-link {
    min-height: 40px;
    padding: 10px 16px;
}

.bbcc-module-pro-nav a,
.bbcc-content-module-nav-list a {
    border-radius: 16px;
    background: rgba(248,244,237,.54);
    border: 1px solid rgba(181,167,149,.30);
}

.bbcc-module-pro-nav a:hover,
.bbcc-module-pro-nav a.is-active,
.bbcc-content-module-nav-list a:hover,
.bbcc-content-module-nav-list a.is-active {
    background: rgba(237,227,213,.68);
    border-color: rgba(115,116,94,.34);
}

.bbcc-content-view-pro {
    max-width: 1180px;
}

.bbcc-content-view-pro .bbcc-content-view-hero-pro {
    padding: clamp(24px, 4vw, 40px);
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
}

.bbcc-content-progress-card {
    padding: 18px;
    box-shadow: none;
}

.bbcc-content-progress-card strong {
    color: var(--bbcc-text);
}

.bbcc-content-view-layout {
    gap: 18px;
    align-items: start;
}

.bbcc-content-view-main .bbcc-content-view-card {
    padding: clamp(20px, 3vw, 30px);
    border-radius: 24px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(181,167,149,.36);
    box-shadow: 0 14px 38px rgba(36,35,33,.052);
}

.bbcc-content-resource-head {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(181,167,149,.32);
}

.bbcc-content-resource-head p {
    margin: 0;
    color: var(--bbcc-muted);
    line-height: 1.62;
}

.bbcc-resource-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.bbcc-pdf-shell-pro,
.bbcc-embed-rendered,
.bbcc-native-quiz-rendered,
.bbcc-activity-rendered {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(181,167,149,.32);
    background: rgba(248,244,237,.42);
}

.bbcc-pdf-frame {
    min-height: 72vh;
    background: #fff;
}

.bbcc-content-continue-bar {
    margin-top: 16px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(248,244,237,.72);
    border: 1px solid rgba(181,167,149,.34);
    box-shadow: none;
}

.bbcc-content-continue-actions {
    gap: 10px;
}

.bbcc-content-module-nav {
    position: sticky;
    top: 96px;
    padding: 20px;
}

.bbcc-community-view-wrap {
    max-width: 1160px;
}

.bbcc-community-hero {
    padding: clamp(24px, 4vw, 40px);
    margin-bottom: 18px;
}

.bbcc-community-layout-threaded {
    gap: 18px;
}

.bbcc-community-message-form {
    gap: 13px;
}

.bbcc-community-message-form input,
.bbcc-community-message-form textarea {
    border-radius: 14px;
    background: rgba(248,244,237,.64);
}

.bbcc-community-thread {
    border-radius: 16px;
}

.bbcc-tutor-certificate-card {
    padding: clamp(26px, 4vw, 44px);
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(255,255,255,.84), rgba(248,244,237,.78));
}

.bbcc-tutor-certificate-card h1 {
    font-size: clamp(30px, 4vw, 46px);
    letter-spacing: -0.035em;
}

.bbcc-btn {
    min-height: 44px;
    padding: 11px 18px;
}

.bbcc-btn-primary {
    box-shadow: 0 8px 20px rgba(115,116,94,.18);
}

.bbcc-btn-secondary {
    background: rgba(255,255,255,.70);
}

@media (max-width: 980px) {
    .bbcc-room-home-hero,
    .bbcc-module-pro-hero,
    .bbcc-content-view-pro .bbcc-content-view-hero-pro,
    .bbcc-community-hero,
    .bbcc-module-pro-layout,
    .bbcc-content-view-layout,
    .bbcc-community-layout-threaded {
        grid-template-columns: 1fr;
    }

    .bbcc-content-module-nav,
    .bbcc-module-pro-side-card,
    .bbcc-community-history-card {
        position: static;
    }
}

@media (max-width: 720px) {
    body.bbcc-page-room .bbcc-room-wrap {
        padding-left: 14px;
        padding-right: 14px;
    }

    .bbcc-room-breadcrumb {
        border-radius: 18px;
        align-items: flex-start;
    }

    .bbcc-room-home-hero,
    .bbcc-module-pro-hero,
    .bbcc-content-view-pro .bbcc-content-view-hero-pro,
    .bbcc-community-hero,
    .bbcc-room-module-dashboard-card,
    .bbcc-module-pro-content,
    .bbcc-module-pro-side-card,
    .bbcc-content-view-main .bbcc-content-view-card,
    .bbcc-content-module-nav,
    .bbcc-community-message-card,
    .bbcc-community-history-card,
    .bbcc-tutor-certificate-card {
        border-radius: 20px;
        padding: 18px;
    }

    .bbcc-room-home-status .bbcc-btn,
    .bbcc-room-module-dashboard-card .bbcc-btn,
    .bbcc-module-pro-item-link,
    .bbcc-content-continue-actions .bbcc-btn,
    .bbcc-resource-actions .bbcc-btn {
        width: 100%;
    }

    .bbcc-module-pro-item {
        grid-template-columns: auto 1fr;
        gap: 12px;
    }

    .bbcc-module-pro-item-icon {
        display: none;
    }

    .bbcc-module-pro-item-link {
        grid-column: 1 / -1;
    }

    .bbcc-pdf-frame {
        min-height: 62vh;
    }
}

/* ==========================================================
   v0.15.1 — Ajuste fino visual según capturas reales
   Capa conservadora: compacta proporciones y corrige jerarquías
   sin modificar progreso, certificado, Tutor LMS ni WooCommerce.
   ========================================================== */

body.bbcc-page-room .bbcc-wrap,
body.bbcc-page-dashboard .bbcc-wrap {
    max-width: 1180px;
}

body.bbcc-page-room .bbcc-room-wrap {
    padding-top: clamp(22px, 3vw, 38px);
    padding-bottom: clamp(42px, 6vw, 72px);
}

.bbcc-room-breadcrumb {
    margin-bottom: 22px;
    padding: 11px 16px;
    font-size: 13px;
}

.bbcc-room-home-hero {
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
    gap: clamp(24px, 3.4vw, 44px);
    padding: clamp(34px, 4.8vw, 58px);
    align-items: center;
}

.bbcc-room-home-hero .bbcc-room-hero-main h1 {
    max-width: 780px;
    margin-bottom: 24px;
    font-size: clamp(48px, 5.4vw, 78px);
    line-height: .98;
    letter-spacing: -0.055em;
}

.bbcc-room-home-hero .bbcc-room-hero-main p {
    max-width: 760px;
    font-size: clamp(17px, 1.55vw, 21px);
    line-height: 1.58;
}

.bbcc-room-home-status {
    align-self: center;
    min-height: 0;
    padding: 28px;
    gap: 17px;
    border-radius: 28px;
}

.bbcc-room-home-status > p {
    max-width: 280px;
    font-size: 16px;
    line-height: 1.45;
}

.bbcc-progress-widget-room {
    margin-top: 8px;
    padding: 16px 18px;
}

.bbcc-room-welcome-card {
    padding: 24px 28px;
}

.bbcc-room-modules-home {
    margin-top: clamp(34px, 4.8vw, 58px);
}

.bbcc-room-modules-heading h2 {
    font-size: clamp(30px, 3vw, 42px);
    letter-spacing: -0.035em;
}

.bbcc-room-module-grid-dashboard {
    gap: 18px;
}

.bbcc-room-module-dashboard-card {
    padding: 22px 24px;
    border-radius: 22px;
}

.bbcc-room-module-dashboard-card h3 {
    font-size: clamp(20px, 1.75vw, 25px);
}

.bbcc-extra-unit-card {
    padding: 20px 22px;
}

.bbcc-module-pro-hero {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    align-items: center;
    padding: clamp(30px, 4.2vw, 50px);
}

.bbcc-module-pro-main h1 {
    font-size: clamp(38px, 4.6vw, 64px);
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.bbcc-module-pro-main p {
    max-width: 650px;
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 1.58;
}

.bbcc-module-pro-summary {
    align-self: center;
    padding: 18px;
    gap: 10px;
}

.bbcc-module-pro-summary div {
    padding: 14px 15px;
    min-height: 0;
}

.bbcc-module-pro-summary strong {
    font-size: clamp(24px, 2.7vw, 34px);
}

.bbcc-module-pro-summary .bbcc-module-progress-wide {
    padding: 14px 16px;
}

.bbcc-module-pro-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 34px;
    margin-top: 34px;
}

.bbcc-module-pro-content,
.bbcc-module-pro-side-card,
.bbcc-content-module-nav,
.bbcc-community-message-card,
.bbcc-community-history-card {
    border-radius: 26px;
}

.bbcc-module-pro-content {
    padding: clamp(28px, 3.6vw, 42px);
}

.bbcc-section-heading-tight h2 {
    margin-bottom: 14px;
    font-size: clamp(31px, 3.1vw, 42px);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.bbcc-section-heading-tight p {
    max-width: 760px;
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 1.55;
}

.bbcc-module-pro-list {
    margin-top: 24px;
    gap: 14px;
}

.bbcc-module-pro-item {
    grid-template-columns: 52px 52px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 18px 20px;
    border-radius: 22px;
}

.bbcc-module-pro-item-index span,
.bbcc-module-pro-item-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
}

.bbcc-module-pro-item-copy h3 {
    font-size: clamp(20px, 1.8vw, 25px);
    line-height: 1.16;
}

.bbcc-module-pro-item-link {
    min-height: 46px;
    padding: 11px 24px;
    border-radius: 999px;
}

.bbcc-module-pro-side-card {
    padding: 28px;
}

.bbcc-module-pro-side-card h3,
.bbcc-content-module-nav h3 {
    font-size: clamp(27px, 2.8vw, 38px);
    line-height: 1.08;
}

.bbcc-module-pro-nav,
.bbcc-content-module-nav-list {
    gap: 13px;
}

.bbcc-module-pro-nav a,
.bbcc-content-module-nav-list a {
    padding: 16px 18px;
    border-radius: 18px;
}

.bbcc-content-view-pro .bbcc-content-view-hero-pro {
    grid-template-columns: minmax(0, 1fr) minmax(160px, 210px);
    padding: clamp(30px, 4.2vw, 46px);
    align-items: center;
}

.bbcc-content-view-pro .bbcc-content-view-hero-pro h1 {
    font-size: clamp(40px, 4.5vw, 64px);
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.bbcc-content-progress-card {
    align-self: center;
    padding: 18px 20px;
    border-radius: 20px;
}

.bbcc-content-view-layout {
    grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
    gap: 26px;
    margin-top: 28px;
}

.bbcc-content-view-main .bbcc-content-view-card {
    padding: clamp(24px, 3.2vw, 36px);
    border-radius: 26px;
}

.bbcc-content-resource-head {
    margin-bottom: 22px;
}

.bbcc-resource-actions .bbcc-btn {
    min-height: 40px;
    padding: 9px 16px;
}

.bbcc-pdf-frame {
    min-height: 76vh;
}

.bbcc-content-continue-bar {
    padding: 15px 18px;
    border-radius: 18px;
}

.bbcc-content-continue-bar .bbcc-kicker {
    display: none;
}

.bbcc-content-continue-actions {
    justify-content: flex-end;
    gap: 9px;
}

.bbcc-content-continue-actions .bbcc-btn {
    min-height: 38px;
    padding: 8px 14px;
    font-size: 12px;
}

.bbcc-community-view-wrap {
    max-width: 1160px;
}

.bbcc-community-hero {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: clamp(34px, 4.4vw, 52px);
}

.bbcc-community-hero h1 {
    font-size: clamp(40px, 4.4vw, 58px);
    letter-spacing: -0.045em;
}

.bbcc-community-layout-threaded {
    grid-template-columns: minmax(0, 1fr) minmax(290px, 390px);
    gap: 22px;
}

.bbcc-community-message-card,
.bbcc-community-history-card {
    padding: clamp(26px, 3.2vw, 38px);
}

.bbcc-community-message-card h2,
.bbcc-community-history-card h2 {
    font-size: clamp(28px, 2.6vw, 38px);
    line-height: 1.12;
}

.bbcc-community-message-form input,
.bbcc-community-message-form textarea {
    padding: 14px 16px;
    font-size: 15px;
}

.bbcc-community-message-form .bbcc-btn {
    min-height: 48px;
}

.bbcc-btn {
    border-radius: 999px;
    font-weight: 750;
}

@media (min-width: 981px) {
    .bbcc-content-module-nav,
    .bbcc-module-pro-side-card {
        top: 112px;
    }
}

@media (max-width: 980px) {
    .bbcc-room-home-hero,
    .bbcc-module-pro-hero,
    .bbcc-content-view-pro .bbcc-content-view-hero-pro,
    .bbcc-community-hero,
    .bbcc-module-pro-layout,
    .bbcc-content-view-layout,
    .bbcc-community-layout-threaded {
        grid-template-columns: 1fr;
    }

    .bbcc-room-home-status {
        align-self: stretch;
    }

    .bbcc-module-pro-item {
        grid-template-columns: auto auto minmax(0, 1fr);
    }

    .bbcc-module-pro-item-link {
        grid-column: 1 / -1;
        justify-self: stretch;
        text-align: center;
    }
}

@media (max-width: 720px) {
    .bbcc-room-home-hero .bbcc-room-hero-main h1,
    .bbcc-module-pro-main h1,
    .bbcc-content-view-pro .bbcc-content-view-hero-pro h1,
    .bbcc-community-hero h1 {
        font-size: clamp(34px, 11vw, 46px);
        line-height: 1.04;
    }

    .bbcc-room-home-hero,
    .bbcc-module-pro-hero,
    .bbcc-content-view-pro .bbcc-content-view-hero-pro,
    .bbcc-community-hero,
    .bbcc-module-pro-content,
    .bbcc-content-view-main .bbcc-content-view-card,
    .bbcc-community-message-card,
    .bbcc-community-history-card {
        padding: 20px;
    }

    .bbcc-content-continue-actions {
        justify-content: stretch;
    }
}

/* ==========================================================
   v0.15.2 — Compactación de cabeceras Aula/Módulo
   Ajuste solicitado sobre capturas reales: reduce el tamaño
   de los bloques superiores para que acompañen la escala de
   sus tarjetas internas, sin tocar la lógica funcional.
   ========================================================== */

body.bbcc-page-room .bbcc-room-wrap {
    padding-top: clamp(18px, 2.4vw, 30px);
}

.bbcc-room-home-hero {
    grid-template-columns: minmax(0, 1.32fr) minmax(280px, .68fr);
    gap: clamp(22px, 3vw, 34px);
    padding: clamp(24px, 3.2vw, 38px);
    align-items: center;
}

.bbcc-room-home-hero .bbcc-room-hero-main h1 {
    max-width: 700px;
    margin-bottom: 16px;
    font-size: clamp(42px, 4.25vw, 61px);
    line-height: 1.01;
    letter-spacing: -0.052em;
}

.bbcc-room-home-hero .bbcc-room-hero-main p {
    max-width: 650px;
    font-size: clamp(16px, 1.24vw, 18px);
    line-height: 1.48;
}

.bbcc-room-home-status {
    align-self: center;
    width: 100%;
    max-width: 340px;
    justify-self: end;
    padding: 24px;
    gap: 14px;
    border-radius: 24px;
}

.bbcc-room-home-status > p {
    max-width: none;
    font-size: 15px;
    line-height: 1.42;
}

.bbcc-room-home-status .bbcc-btn {
    min-height: 42px;
}

.bbcc-progress-widget-room {
    margin-top: 4px;
    padding: 14px 16px;
}

.bbcc-module-pro-hero {
    grid-template-columns: minmax(0, 1fr) minmax(250px, 330px);
    padding: clamp(22px, 3vw, 36px);
    gap: clamp(18px, 2.8vw, 30px);
    align-items: center;
}

.bbcc-module-pro-main h1 {
    margin-bottom: 12px;
    font-size: clamp(36px, 3.85vw, 54px);
    line-height: 1.02;
}

.bbcc-module-pro-main p {
    max-width: 560px;
    margin-top: 8px;
    font-size: clamp(15px, 1.1vw, 17px);
    line-height: 1.48;
}

.bbcc-module-pro-actions {
    margin-top: 20px;
}

.bbcc-module-pro-summary {
    width: 100%;
    max-width: 330px;
    justify-self: end;
    padding: 14px;
    gap: 9px;
    border-radius: 22px;
}

.bbcc-module-pro-summary div {
    padding: 12px 13px;
    border-radius: 16px;
}

.bbcc-module-pro-summary span {
    font-size: 11px;
}

.bbcc-module-pro-summary strong {
    font-size: clamp(22px, 2.2vw, 29px);
    line-height: 1;
}

.bbcc-module-pro-summary .bbcc-module-progress-wide {
    padding: 12px 14px;
}

.bbcc-module-pro-layout {
    margin-top: 26px;
}

@media (max-width: 980px) {
    .bbcc-room-home-hero,
    .bbcc-module-pro-hero {
        grid-template-columns: 1fr;
    }

    .bbcc-room-home-status,
    .bbcc-module-pro-summary {
        max-width: none;
        justify-self: stretch;
    }
}

@media (max-width: 720px) {
    .bbcc-room-home-hero,
    .bbcc-module-pro-hero {
        padding: 18px;
    }

    .bbcc-room-home-hero .bbcc-room-hero-main h1,
    .bbcc-module-pro-main h1 {
        font-size: clamp(32px, 10vw, 42px);
        line-height: 1.04;
    }
}

/* ==========================================================
   v0.15.3 — Microcompactación de cabeceras y métricas
   Ajuste solicitado: reducir aún más las cabeceras superiores
   y ordenar las métricas del módulo en una sola línea visual.
   ========================================================== */

body.bbcc-page-room .bbcc-room-wrap {
    padding-top: clamp(14px, 1.8vw, 24px);
}

.bbcc-room-home-hero {
    grid-template-columns: minmax(0, 1.18fr) minmax(255px, .56fr);
    gap: clamp(16px, 2.2vw, 26px);
    padding: clamp(18px, 2.45vw, 28px);
    margin-bottom: clamp(18px, 2.4vw, 28px);
    min-height: 0;
    align-items: center;
}

.bbcc-room-home-hero .bbcc-room-hero-main h1 {
    max-width: 640px;
    margin-bottom: 12px;
    font-size: clamp(35px, 3.55vw, 52px);
    line-height: 1;
    letter-spacing: -0.052em;
}

.bbcc-room-home-hero .bbcc-room-hero-main p {
    max-width: 590px;
    margin-top: 0;
    font-size: clamp(15px, 1.06vw, 17px);
    line-height: 1.42;
}

.bbcc-room-home-status {
    max-width: 312px;
    padding: 18px 18px;
    gap: 11px;
    border-radius: 22px;
    align-self: center;
}

.bbcc-room-home-status > p {
    font-size: 14px;
    line-height: 1.36;
}

.bbcc-room-home-status .bbcc-btn {
    min-height: 39px;
}

.bbcc-progress-widget-room {
    padding: 11px 13px;
    border-radius: 15px;
}

.bbcc-module-pro-hero {
    grid-template-columns: minmax(0, 1fr) minmax(410px, 500px);
    gap: clamp(16px, 2.1vw, 24px);
    padding: clamp(18px, 2.35vw, 28px);
    margin-bottom: clamp(20px, 2.7vw, 30px);
    min-height: 0;
    align-items: center;
}

.bbcc-module-pro-main h1 {
    margin-bottom: 8px;
    font-size: clamp(34px, 3.15vw, 46px);
    line-height: 1;
    letter-spacing: -0.045em;
}

.bbcc-module-pro-main p {
    max-width: 520px;
    margin-top: 6px;
    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.42;
}

.bbcc-module-pro-actions {
    margin-top: 16px;
    gap: 10px;
}

.bbcc-module-pro-summary {
    width: 100%;
    max-width: 500px;
    justify-self: end;
    align-self: center;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 11px;
    border-radius: 20px;
}

.bbcc-module-pro-summary div:not(.bbcc-module-progress-wide) {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    min-height: 0;
    padding: 9px 8px;
    border-radius: 14px;
    white-space: nowrap;
}

.bbcc-module-pro-summary span {
    font-size: 10px;
    line-height: 1;
}

.bbcc-module-pro-summary strong {
    font-size: clamp(18px, 1.65vw, 24px);
    line-height: 1;
}

.bbcc-module-pro-summary .bbcc-module-progress-wide {
    grid-column: 1 / -1;
    padding: 9px 12px;
    border-radius: 14px;
}

.bbcc-module-pro-layout {
    margin-top: 22px;
}

@media (max-width: 1180px) {
    .bbcc-module-pro-hero {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 440px);
    }

    .bbcc-module-pro-summary {
        max-width: 440px;
    }

    .bbcc-module-pro-summary div:not(.bbcc-module-progress-wide) {
        gap: 4px;
        padding-left: 6px;
        padding-right: 6px;
    }
}

@media (max-width: 980px) {
    .bbcc-room-home-hero,
    .bbcc-module-pro-hero {
        grid-template-columns: 1fr;
    }

    .bbcc-room-home-status,
    .bbcc-module-pro-summary {
        max-width: none;
        justify-self: stretch;
    }
}

@media (max-width: 720px) {
    .bbcc-room-home-hero,
    .bbcc-module-pro-hero {
        padding: 16px;
    }

    .bbcc-room-home-hero .bbcc-room-hero-main h1,
    .bbcc-module-pro-main h1 {
        font-size: clamp(30px, 8.8vw, 40px);
        line-height: 1.03;
    }

    .bbcc-module-pro-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ==========================================================
   v0.15.5 — Ajuste de iconografía por tipo de contenido
   Iconografía SVG unificada, botones más cuidados, estados
   de contenido más limpios y navegación lateral más precisa.
   ========================================================== */

.bbcc-btn {
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}

.bbcc-btn:hover {
    transform: translateY(-1px);
}

.bbcc-btn-primary,
.bbcc-module-pro-item-link {
    box-shadow: 0 10px 20px rgba(36,35,33,.08);
}

.bbcc-btn-primary:hover,
.bbcc-module-pro-item-link:hover {
    box-shadow: 0 14px 26px rgba(36,35,33,.12);
}

.bbcc-room-home-status .bbcc-btn-primary::after,
.bbcc-module-pro-actions .bbcc-btn-primary::after,
.bbcc-module-pro-footer .bbcc-btn-primary::after,
.bbcc-content-continue-actions .bbcc-btn-primary::after,
.bbcc-module-pro-item-link::after,
.bbcc-room-module-dashboard-card .bbcc-btn-primary::after {
    content: "→";
    display: inline-block;
    margin-left: .45em;
    font-weight: 900;
    transform: translateY(-.03em);
}

.bbcc-module-pro-list {
    gap: 12px;
}

.bbcc-module-pro-item {
    grid-template-columns: 48px 46px minmax(0, 1fr) auto;
    gap: 14px;
    padding: clamp(14px, 1.75vw, 20px);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(248,244,237,.76));
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.bbcc-module-pro-item:hover {
    transform: translateY(-1px);
    border-color: rgba(115,116,94,.28);
    box-shadow: 0 16px 34px rgba(36,35,33,.075);
}

.bbcc-module-pro-item-index span,
.bbcc-module-pro-item-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
}

.bbcc-module-pro-item-index span {
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(36,35,33,.08);
    color: rgba(36,35,33,.68);
    font-size: .78rem;
}

.bbcc-module-pro-item-icon {
    background: rgba(115,116,94,.095);
    color: var(--bbcc-olive);
    border: 1px solid rgba(115,116,94,.16);
}

.bbcc-module-pro-item-icon svg {
    width: 19px;
    height: 19px;
    stroke-width: 1.75;
}

.bbcc-room-kind-reading .bbcc-module-pro-item-icon,
.bbcc-room-kind-video .bbcc-module-pro-item-icon,
.bbcc-room-kind-meeting .bbcc-module-pro-item-icon,
.bbcc-room-kind-activity .bbcc-module-pro-item-icon,
.bbcc-room-kind-embed .bbcc-module-pro-item-icon,
.bbcc-room-kind-quiz .bbcc-module-pro-item-icon {
    background: rgba(237,227,213,.58);
}

.bbcc-module-pro-item-copy {
    min-width: 0;
}

.bbcc-module-pro-item-copy h3 {
    margin-top: 3px;
    font-size: clamp(1rem, 1.35vw, 1.28rem);
    line-height: 1.16;
}

.bbcc-room-item-type {
    font-size: .64rem;
    letter-spacing: .085em;
    color: rgba(109,98,88,.95);
}

.bbcc-content-state {
    gap: 5px;
    margin-top: 6px;
    padding: 4px 9px;
    border: 1px solid rgba(36,35,33,.06);
    background: rgba(255,255,255,.62);
    color: rgba(109,98,88,.92);
}

.bbcc-content-state.is-completed {
    border-color: rgba(115,116,94,.14);
    background: rgba(115,116,94,.11);
}

.bbcc-content-state.is-completed::before {
    content: "✓";
    display: inline-grid;
    place-items: center;
    width: 13px;
    height: 13px;
    border-radius: 999px;
    background: rgba(115,116,94,.18);
    color: var(--bbcc-olive);
    font-size: 9px;
    line-height: 1;
}

.bbcc-module-pro-item-link {
    min-height: 36px;
    padding-left: 16px;
    padding-right: 16px;
    border-radius: 999px;
    font-size: .78rem;
    letter-spacing: .02em;
    text-transform: none;
}

.bbcc-module-pro-nav a,
.bbcc-content-module-nav-list a {
    position: relative;
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.bbcc-module-pro-nav a:hover,
.bbcc-content-module-nav-list a:hover {
    transform: translateY(-1px);
}

.bbcc-module-pro-nav a.is-active,
.bbcc-content-module-nav-list a.is-active {
    border-color: rgba(115,116,94,.38);
    background: linear-gradient(135deg, rgba(115,116,94,.12), rgba(237,227,213,.55));
    box-shadow: inset 4px 0 0 rgba(115,116,94,.72), 0 10px 22px rgba(36,35,33,.045);
}

.bbcc-module-pro-nav a.bbcc-module-nav-status-completed::after,
.bbcc-content-module-nav-list a.is-completed::after {
    content: "✓";
    position: absolute;
    top: 10px;
    right: 11px;
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: rgba(115,116,94,.14);
    color: var(--bbcc-olive);
    font-size: 11px;
    font-weight: 900;
}

.bbcc-content-module-nav-list a {
    grid-template-columns: 30px 28px minmax(0, 1fr);
    grid-template-areas:
        "num icon type"
        "num icon title";
    column-gap: 9px;
    row-gap: 2px;
    align-items: center;
    padding-right: 34px;
}

.bbcc-content-module-nav-list a > span {
    grid-area: num;
}

.bbcc-content-module-nav-list a > .bbcc-content-nav-icon {
    grid-area: icon;
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 10px;
    background: rgba(115,116,94,.09);
    color: var(--bbcc-olive);
    border: 1px solid rgba(115,116,94,.12);
    font-style: normal;
}

.bbcc-content-module-nav-list a > .bbcc-content-nav-icon svg {
    width: 15px;
    height: 15px;
    stroke-width: 1.75;
}

.bbcc-content-module-nav-list a > em {
    grid-area: type;
}

.bbcc-content-module-nav-list a > strong {
    grid-area: title;
}

.bbcc-room-module-dashboard-card {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.bbcc-room-module-dashboard-card:hover {
    transform: translateY(-1px);
    border-color: rgba(115,116,94,.28);
    box-shadow: 0 18px 38px rgba(36,35,33,.075);
}

.bbcc-module-status,
.bbcc-module-index,
.bbcc-room-module-card-head span,
.bbcc-module-compact-meta span {
    border-radius: 999px;
}

.bbcc-module-status-completed .bbcc-module-status::before {
    content: "✓";
    margin-right: 5px;
    font-weight: 900;
}

.bbcc-module-pro-side-card,
.bbcc-content-module-nav {
    box-shadow: 0 18px 36px rgba(36,35,33,.055);
}

@media (max-width: 720px) {
    .bbcc-module-pro-item {
        grid-template-columns: 40px 40px minmax(0, 1fr);
        gap: 10px;
    }

    .bbcc-module-pro-item-link {
        grid-column: 1 / -1;
        justify-self: stretch;
        width: 100%;
    }

    .bbcc-content-module-nav-list a {
        grid-template-columns: 28px 28px minmax(0, 1fr);
    }
}


/* ==========================================================================
   v0.16.0 — Responsive/mobile: cierre de experiencia en tablet y celular
   --------------------------------------------------------------------------
   Ajustes exclusivamente visuales. No modifica lógica de progreso, certificado,
   Tutor LMS, WooCommerce, BuddyPress ni permisos.
   ========================================================================== */

@media (max-width: 1180px) {
    .bbcc-room-shell,
    .bbcc-room,
    .bbcc-campus-wrap,
    .bbcc-student-dashboard,
    .bbcc-course-room,
    .bbcc-module-room,
    .bbcc-content-room {
        max-width: min(100%, 1040px);
        padding-left: 18px;
        padding-right: 18px;
    }

    .bbcc-room-hero,
    .bbcc-module-hero,
    .bbcc-content-layout,
    .bbcc-module-layout,
    .bbcc-room-grid,
    .bbcc-dashboard-grid,
    .bbcc-aula-hero,
    .bbcc-module-top {
        gap: 18px;
    }
}

@media (max-width: 980px) {
    .bbcc-room-hero,
    .bbcc-module-hero,
    .bbcc-aula-hero,
    .bbcc-module-top,
    .bbcc-content-layout,
    .bbcc-module-layout,
    .bbcc-dashboard-grid,
    .bbcc-student-dashboard-grid,
    .bbcc-room-grid,
    .bbcc-course-grid,
    .bbcc-campus-grid,
    .bbcc-media-grid,
    .bbcc-media-grid-two,
    .bbcc-checkout-grid {
        grid-template-columns: 1fr !important;
    }

    .bbcc-room-hero-side,
    .bbcc-module-hero-side,
    .bbcc-content-aside,
    .bbcc-module-sidebar,
    .bbcc-room-sidebar,
    .bbcc-dashboard-side,
    .bbcc-student-side {
        position: static !important;
        top: auto !important;
        width: 100%;
    }

    .bbcc-room-hero,
    .bbcc-module-hero,
    .bbcc-aula-hero,
    .bbcc-module-top {
        padding: 20px !important;
    }

    .bbcc-room-hero h1,
    .bbcc-module-hero h1,
    .bbcc-aula-hero h1,
    .bbcc-module-top h1 {
        font-size: clamp(1.55rem, 4.8vw, 2.15rem) !important;
        line-height: 1.14 !important;
    }

    .bbcc-room-hero p,
    .bbcc-module-hero p,
    .bbcc-aula-hero p,
    .bbcc-module-top p {
        max-width: 100%;
        font-size: .96rem;
    }

    .bbcc-progress-panel,
    .bbcc-room-progress,
    .bbcc-module-progress,
    .bbcc-course-progress-card,
    .bbcc-student-progress {
        padding: 16px !important;
    }

    .bbcc-module-metrics,
    .bbcc-module-stats,
    .bbcc-room-stats,
    .bbcc-course-stats,
    .bbcc-student-stats {
        display: flex !important;
        flex-wrap: wrap;
        gap: 8px !important;
    }

    .bbcc-module-metrics > *,
    .bbcc-module-stats > *,
    .bbcc-room-stats > *,
    .bbcc-course-stats > *,
    .bbcc-student-stats > * {
        flex: 1 1 140px;
        min-width: 0;
    }

    .bbcc-content-main,
    .bbcc-module-main,
    .bbcc-room-main {
        min-width: 0;
    }

    .bbcc-content-nav,
    .bbcc-module-nav,
    .bbcc-room-nav {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
    }
}

@media (max-width: 760px) {
    .bbcc-room-shell,
    .bbcc-room,
    .bbcc-campus-wrap,
    .bbcc-student-dashboard,
    .bbcc-course-room,
    .bbcc-module-room,
    .bbcc-content-room {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .bbcc-room-hero,
    .bbcc-module-hero,
    .bbcc-aula-hero,
    .bbcc-module-top,
    .bbcc-student-hero,
    .bbcc-dashboard-hero,
    .bbcc-card,
    .bbcc-panel,
    .bbcc-module-card,
    .bbcc-content-card,
    .bbcc-course-card,
    .bbcc-room-card {
        border-radius: 18px !important;
    }

    .bbcc-room-hero,
    .bbcc-module-hero,
    .bbcc-aula-hero,
    .bbcc-module-top,
    .bbcc-student-hero,
    .bbcc-dashboard-hero {
        padding: 18px !important;
    }

    .bbcc-kicker,
    .bbcc-eyebrow,
    .bbcc-room-kicker,
    .bbcc-module-kicker {
        font-size: .68rem !important;
        letter-spacing: .08em !important;
    }

    .bbcc-room-hero h1,
    .bbcc-module-hero h1,
    .bbcc-aula-hero h1,
    .bbcc-module-top h1,
    .bbcc-student-hero h1,
    .bbcc-dashboard-hero h1 {
        font-size: clamp(1.38rem, 7vw, 1.9rem) !important;
        line-height: 1.12 !important;
        margin-bottom: 8px !important;
    }

    .bbcc-room-hero p,
    .bbcc-module-hero p,
    .bbcc-aula-hero p,
    .bbcc-module-top p,
    .bbcc-student-hero p,
    .bbcc-dashboard-hero p {
        font-size: .92rem !important;
        line-height: 1.55 !important;
    }

    .bbcc-btn,
    .bbcc-button,
    .bbcc-primary-button,
    .bbcc-secondary-button,
    a.bbcc-btn,
    button.bbcc-btn {
        width: 100%;
        min-height: 44px;
        justify-content: center;
        text-align: center;
    }

    .bbcc-actions,
    .bbcc-card-actions,
    .bbcc-room-actions,
    .bbcc-module-actions,
    .bbcc-content-actions,
    .bbcc-certificate-actions,
    .bbcc-live-actions {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 10px !important;
        width: 100%;
    }

    .bbcc-module-pro-item,
    .bbcc-content-nav-item,
    .bbcc-side-module,
    .bbcc-room-module-item,
    .bbcc-lesson-row,
    .bbcc-course-row {
        grid-template-columns: auto 1fr !important;
        align-items: start !important;
        gap: 12px !important;
        padding: 14px !important;
    }

    .bbcc-module-pro-item-action,
    .bbcc-content-nav-action,
    .bbcc-row-action,
    .bbcc-lesson-action {
        grid-column: 1 / -1;
        width: 100%;
        margin-top: 4px;
    }

    .bbcc-module-pro-item-action .bbcc-btn,
    .bbcc-content-nav-action .bbcc-btn,
    .bbcc-row-action .bbcc-btn,
    .bbcc-lesson-action .bbcc-btn {
        width: 100%;
    }

    .bbcc-module-pro-item-icon,
    .bbcc-content-nav-icon,
    .bbcc-resource-icon,
    .bbcc-side-icon {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
    }

    .bbcc-module-pro-item-icon svg,
    .bbcc-content-nav-icon svg,
    .bbcc-resource-icon svg,
    .bbcc-side-icon svg {
        width: 17px !important;
        height: 17px !important;
    }

    .bbcc-status,
    .bbcc-badge,
    .bbcc-pill,
    .bbcc-tag {
        font-size: .72rem !important;
        line-height: 1.2;
        white-space: normal;
    }

    .bbcc-module-metrics,
    .bbcc-module-stats,
    .bbcc-room-stats,
    .bbcc-course-stats,
    .bbcc-student-stats {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px !important;
    }

    .bbcc-module-metrics > *,
    .bbcc-module-stats > *,
    .bbcc-room-stats > *,
    .bbcc-course-stats > *,
    .bbcc-student-stats > * {
        flex: initial;
        min-width: 0;
        padding: 10px !important;
    }

    .bbcc-pdf-viewer,
    .bbcc-pdf-frame,
    .bbcc-pdf-embed iframe,
    .bbcc-material-frame iframe {
        min-height: 520px !important;
        height: 68vh !important;
        max-height: 760px;
    }

    .bbcc-video-embed,
    .bbcc-video-wrap,
    .bbcc-content-video {
        border-radius: 16px !important;
        overflow: hidden;
    }

    .bbcc-video-embed iframe,
    .bbcc-video-wrap iframe,
    .bbcc-content-video iframe {
        width: 100% !important;
        aspect-ratio: 16 / 9;
        height: auto !important;
        min-height: 210px;
    }

    .bbcc-compatible-quiz-question,
    .bbcc-tutor-native-quiz,
    .bbcc-quiz-box,
    .bbcc-live-card,
    .bbcc-consultas-card,
    .bbcc-message-card {
        padding: 16px !important;
        border-radius: 18px !important;
    }

    .bbcc-compatible-quiz-answer,
    .bbcc-answer-option {
        align-items: flex-start;
        gap: 10px;
        padding: 12px !important;
    }

    .bbcc-compatible-quiz-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .bbcc-room-footer-nav,
    .bbcc-content-footer-nav,
    .bbcc-module-footer-nav,
    .bbcc-bottom-nav {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 10px !important;
    }

    .bbcc-room-footer-nav .bbcc-btn,
    .bbcc-content-footer-nav .bbcc-btn,
    .bbcc-module-footer-nav .bbcc-btn,
    .bbcc-bottom-nav .bbcc-btn {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .bbcc-room-shell,
    .bbcc-room,
    .bbcc-campus-wrap,
    .bbcc-student-dashboard,
    .bbcc-course-room,
    .bbcc-module-room,
    .bbcc-content-room {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .bbcc-room-hero,
    .bbcc-module-hero,
    .bbcc-aula-hero,
    .bbcc-module-top,
    .bbcc-student-hero,
    .bbcc-dashboard-hero,
    .bbcc-card,
    .bbcc-panel,
    .bbcc-module-card,
    .bbcc-content-card,
    .bbcc-course-card,
    .bbcc-room-card {
        border-radius: 16px !important;
    }

    .bbcc-room-hero,
    .bbcc-module-hero,
    .bbcc-aula-hero,
    .bbcc-module-top,
    .bbcc-student-hero,
    .bbcc-dashboard-hero,
    .bbcc-card,
    .bbcc-panel,
    .bbcc-module-card,
    .bbcc-content-card,
    .bbcc-course-card,
    .bbcc-room-card {
        padding: 15px !important;
    }

    .bbcc-room-hero h1,
    .bbcc-module-hero h1,
    .bbcc-aula-hero h1,
    .bbcc-module-top h1,
    .bbcc-student-hero h1,
    .bbcc-dashboard-hero h1 {
        font-size: clamp(1.22rem, 8vw, 1.58rem) !important;
    }

    .bbcc-room-hero p,
    .bbcc-module-hero p,
    .bbcc-aula-hero p,
    .bbcc-module-top p,
    .bbcc-student-hero p,
    .bbcc-dashboard-hero p {
        font-size: .88rem !important;
    }

    .bbcc-module-metrics,
    .bbcc-module-stats,
    .bbcc-room-stats,
    .bbcc-course-stats,
    .bbcc-student-stats {
        grid-template-columns: 1fr !important;
    }

    .bbcc-module-pro-item,
    .bbcc-content-nav-item,
    .bbcc-side-module,
    .bbcc-room-module-item,
    .bbcc-lesson-row,
    .bbcc-course-row {
        padding: 12px !important;
    }

    .bbcc-pdf-viewer,
    .bbcc-pdf-frame,
    .bbcc-pdf-embed iframe,
    .bbcc-material-frame iframe {
        min-height: 430px !important;
        height: 64vh !important;
    }

    .bbcc-video-embed iframe,
    .bbcc-video-wrap iframe,
    .bbcc-content-video iframe {
        min-height: 190px;
    }

    .bbcc-module-pro-item-icon,
    .bbcc-content-nav-icon,
    .bbcc-resource-icon,
    .bbcc-side-icon {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
    }

    .bbcc-module-pro-item-title,
    .bbcc-content-nav-title,
    .bbcc-side-module-title,
    .bbcc-room-module-title {
        font-size: .94rem !important;
        line-height: 1.32;
    }

    .bbcc-module-pro-item-meta,
    .bbcc-content-nav-meta,
    .bbcc-side-module-meta,
    .bbcc-room-module-meta {
        font-size: .78rem !important;
    }
}


/* ==========================================================================
   v0.16.1 — Ajuste fino responsive/mobile
   --------------------------------------------------------------------------
   Se conserva la estructura responsive de v0.16.0. Esta capa reduce la
   presencia de la portada del aula en celular, mejora el ritmo vertical y
   suaviza tarjetas de quiz/actividad sin alterar lógica funcional.
   ========================================================================== */

@media (max-width: 760px) {
    .bbcc-room-hero,
    .bbcc-aula-hero {
        padding: 16px !important;
        gap: 14px !important;
    }

    .bbcc-room-hero h1,
    .bbcc-aula-hero h1 {
        font-size: clamp(1.24rem, 6.2vw, 1.72rem) !important;
        line-height: 1.12 !important;
        letter-spacing: -0.015em;
        max-width: 100%;
    }

    .bbcc-room-hero p,
    .bbcc-aula-hero p {
        font-size: .88rem !important;
        line-height: 1.48 !important;
        margin-top: 6px !important;
    }

    .bbcc-room-hero-side,
    .bbcc-aula-hero-side,
    .bbcc-progress-panel,
    .bbcc-room-progress {
        padding: 14px !important;
    }

    .bbcc-room-hero-side .bbcc-btn,
    .bbcc-aula-hero-side .bbcc-btn,
    .bbcc-progress-panel .bbcc-btn {
        min-height: 40px;
    }

    .bbcc-module-hero,
    .bbcc-module-top {
        padding: 16px !important;
        gap: 14px !important;
    }

    .bbcc-module-hero h1,
    .bbcc-module-top h1 {
        font-size: clamp(1.34rem, 6.6vw, 1.82rem) !important;
        line-height: 1.1 !important;
    }

    .bbcc-module-metrics,
    .bbcc-module-stats {
        gap: 7px !important;
    }

    .bbcc-module-metrics > *,
    .bbcc-module-stats > * {
        padding: 9px !important;
        min-height: 0 !important;
    }

    .bbcc-room-module-card,
    .bbcc-module-card,
    .bbcc-course-module-card {
        padding: 15px !important;
    }

    .bbcc-room-module-card h3,
    .bbcc-module-card h3,
    .bbcc-course-module-card h3 {
        font-size: 1.02rem !important;
        line-height: 1.22 !important;
    }

    .bbcc-room-module-card .bbcc-btn,
    .bbcc-module-card .bbcc-btn,
    .bbcc-course-module-card .bbcc-btn {
        min-height: 40px;
    }

    .bbcc-compatible-quiz-question,
    .bbcc-quiz-box,
    .bbcc-tutor-native-quiz {
        padding: 14px !important;
    }

    .bbcc-compatible-quiz-answer,
    .bbcc-answer-option {
        padding: 11px 12px !important;
        border-radius: 14px !important;
    }

    .bbcc-compatible-quiz-question-title,
    .bbcc-quiz-question-title {
        font-size: .95rem !important;
        line-height: 1.35 !important;
    }

    .bbcc-compatible-quiz-actions .bbcc-btn,
    .bbcc-quiz-actions .bbcc-btn {
        min-height: 42px;
    }

    .bbcc-breadcrumb,
    .bbcc-room-breadcrumb,
    .bbcc-campus-breadcrumb {
        padding: 10px 12px !important;
        border-radius: 14px !important;
        font-size: .78rem !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 520px) {
    .bbcc-room-hero h1,
    .bbcc-aula-hero h1 {
        font-size: clamp(1.16rem, 7vw, 1.44rem) !important;
        line-height: 1.13 !important;
    }

    .bbcc-room-hero,
    .bbcc-aula-hero,
    .bbcc-module-hero,
    .bbcc-module-top {
        padding: 14px !important;
    }

    .bbcc-room-hero p,
    .bbcc-aula-hero p {
        font-size: .84rem !important;
        line-height: 1.46 !important;
    }

    .bbcc-room-hero-side,
    .bbcc-aula-hero-side,
    .bbcc-progress-panel,
    .bbcc-room-progress {
        padding: 12px !important;
    }

    .bbcc-compatible-quiz-question,
    .bbcc-quiz-box,
    .bbcc-tutor-native-quiz,
    .bbcc-live-card,
    .bbcc-consultas-card,
    .bbcc-message-card {
        padding: 13px !important;
    }

    .bbcc-compatible-quiz-answer,
    .bbcc-answer-option {
        padding: 10px 11px !important;
    }

    .bbcc-module-pro-item,
    .bbcc-content-nav-item,
    .bbcc-side-module,
    .bbcc-room-module-item,
    .bbcc-lesson-row,
    .bbcc-course-row {
        gap: 10px !important;
    }
}


/* ==========================================================================
   v0.16.2 — Cierre estructural de interfaz
   --------------------------------------------------------------------------
   Última capa estética antes de ordenar páginas/menú/flujo. No toca lógica.
   Refina jerarquía de botones, estados de sistema, quiz, certificado,
   estados vacíos y microinteracciones.
   ========================================================================== */

/* Jerarquía definitiva de botones */
.bbcc-btn,
a.bbcc-btn,
button.bbcc-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: -0.01em;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease, opacity .18s ease;
}

.bbcc-btn-primary,
a.bbcc-btn-primary,
button.bbcc-btn-primary {
    box-shadow: 0 10px 22px rgba(54, 55, 42, .12);
}

.bbcc-btn-primary:hover,
a.bbcc-btn-primary:hover,
button.bbcc-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(54, 55, 42, .16);
}

.bbcc-btn-secondary,
a.bbcc-btn-secondary,
button.bbcc-btn-secondary {
    background: rgba(255, 255, 255, .78) !important;
    border-color: rgba(109, 98, 88, .18) !important;
    color: #242321 !important;
    box-shadow: 0 7px 16px rgba(54, 47, 38, .055);
}

.bbcc-btn-secondary:hover,
a.bbcc-btn-secondary:hover,
button.bbcc-btn-secondary:hover {
    transform: translateY(-1px);
    border-color: rgba(115, 116, 94, .36) !important;
    box-shadow: 0 10px 22px rgba(54, 47, 38, .085);
}

/* Foco accesible y consistente */
.bbcc-btn:focus-visible,
.bbcc-tool-card:focus-visible,
.bbcc-module-pro-item-link:focus-visible,
.bbcc-compatible-option:focus-within,
.bbcc-room-module-card a:focus-visible,
.bbcc-side-module:focus-visible,
.bbcc-content-nav-item:focus-within {
    outline: 3px solid rgba(115, 116, 94, .32);
    outline-offset: 3px;
}

/* Estados del sistema: completado, pendiente, disponible */
.bbcc-content-state,
.bbcc-status,
.bbcc-badge,
.bbcc-pill,
.bbcc-tag,
.bbcc-answer-tag {
    font-weight: 750;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.bbcc-content-state.is-completed,
.bbcc-status.is-completed,
.bbcc-badge.is-completed,
.bbcc-pill.is-completed,
.bbcc-tag.is-completed {
    background: rgba(115, 116, 94, .12) !important;
    border-color: rgba(115, 116, 94, .18) !important;
    color: #5f604d !important;
}

.bbcc-content-state.is-pending,
.bbcc-status.is-pending,
.bbcc-badge.is-pending,
.bbcc-pill.is-pending,
.bbcc-tag.is-pending {
    background: rgba(181, 167, 149, .13) !important;
    border-color: rgba(181, 167, 149, .2) !important;
    color: #6d6258 !important;
}

/* Módulo activo y navegación lateral: más legible sin volverse pesada */
.bbcc-side-module,
.bbcc-content-nav-item,
.bbcc-room-module-card,
.bbcc-module-pro-item,
.bbcc-tool-card {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.bbcc-side-module:hover,
.bbcc-content-nav-item:hover,
.bbcc-room-module-card:hover,
.bbcc-module-pro-item:hover,
.bbcc-tool-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(54, 47, 38, .075);
}

.bbcc-side-module.is-current,
.bbcc-content-nav-item.is-current,
.bbcc-room-module-card.is-current,
.bbcc-module-card.is-current {
    border-left: 4px solid #73745e !important;
    background: linear-gradient(135deg, rgba(248,244,237,.98), rgba(237,227,213,.72)) !important;
}

/* Estados vacíos: menos sensación de error, más orientación */
.bbcc-empty,
.bbcc-empty-large,
.bbcc-content-empty,
.bbcc-module-empty {
    border: 1px solid rgba(109, 98, 88, .16) !important;
    background:
        radial-gradient(circle at top left, rgba(181, 167, 149, .12), transparent 34%),
        rgba(255,255,255,.64) !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 32px rgba(54, 47, 38, .055);
}

.bbcc-empty h2,
.bbcc-empty-large h2,
.bbcc-content-empty h2,
.bbcc-module-empty h2 {
    margin-bottom: .35rem;
    letter-spacing: -0.02em;
}

.bbcc-empty p,
.bbcc-empty-large p,
.bbcc-content-empty p,
.bbcc-module-empty p {
    color: #6d6258;
    line-height: 1.55;
}

/* Quiz / actividad: limpieza visual estructural */
.bbcc-content-resource-quiz,
.bbcc-compatible-quiz,
.bbcc-compatible-quiz-form,
.bbcc-compatible-quiz-list {
    min-width: 0;
}

.bbcc-compatible-quiz-complete {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 14px;
    padding: 16px 18px !important;
    border: 1px solid rgba(115, 116, 94, .17) !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(115,116,94,.10), rgba(255,255,255,.58)) !important;
}

.bbcc-quiz-status-dot {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #73745e;
    color: #fff;
    font-weight: 800;
    box-shadow: 0 10px 18px rgba(54, 55, 42, .14);
}

.bbcc-compatible-question {
    border: 1px solid rgba(109, 98, 88, .14) !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.66) !important;
    box-shadow: 0 12px 24px rgba(54, 47, 38, .052);
    padding: 18px !important;
    margin: 0 0 16px !important;
}

.bbcc-compatible-question legend {
    display: flex;
    align-items: center;
    gap: 10px;
    width: auto;
    padding: 0 4px;
    margin-bottom: 12px;
    font-weight: 760;
    color: #242321;
    letter-spacing: -0.01em;
}

.bbcc-compatible-question legend span {
    min-width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(237,227,213,.76);
    border: 1px solid rgba(109,98,88,.14);
    color: #6d6258;
    font-size: .74rem;
    letter-spacing: .04em;
}

.bbcc-compatible-options {
    display: grid;
    gap: 10px;
}

.bbcc-compatible-option {
    display: grid !important;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 10px;
    padding: 13px 14px !important;
    border: 1px solid rgba(109, 98, 88, .13) !important;
    border-radius: 16px !important;
    background: rgba(248, 244, 237, .55) !important;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.bbcc-compatible-option:hover {
    transform: translateY(-1px);
    border-color: rgba(115, 116, 94, .25) !important;
    box-shadow: 0 10px 20px rgba(54, 47, 38, .05);
}

.bbcc-compatible-option.is-selected {
    border-color: rgba(115,116,94,.46) !important;
    background: linear-gradient(135deg, rgba(237,227,213,.76), rgba(248,244,237,.86)) !important;
}

.bbcc-compatible-option.is-correct {
    border-color: rgba(115,116,94,.42) !important;
}

.bbcc-compatible-option.is-incorrect-selected {
    border-color: rgba(154, 91, 72, .34) !important;
}

.bbcc-compatible-option input {
    margin-top: 2px;
    accent-color: #73745e;
}

.bbcc-option-text {
    font-weight: 650;
    line-height: 1.4;
}

.bbcc-answer-review-tags {
    grid-column: 2 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 5px;
}

.bbcc-answer-tag {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    font-style: normal;
    font-size: .66rem;
    background: rgba(255,255,255,.65);
    border: 1px solid rgba(109,98,88,.12);
    color: #6d6258;
}

.bbcc-answer-tag-correct {
    color: #5f604d;
    background: rgba(115,116,94,.12);
    border-color: rgba(115,116,94,.18);
}

/* Certificado: pantalla previa más formal cuando Tutor no redirige o falta completar */
.bbcc-tutor-certificate-card {
    max-width: 760px;
    margin: 28px auto;
    padding: 34px !important;
    border: 1px solid rgba(109, 98, 88, .16) !important;
    border-radius: 28px !important;
    background:
        radial-gradient(circle at top left, rgba(181, 167, 149, .14), transparent 35%),
        linear-gradient(135deg, rgba(255,255,255,.72), rgba(237,227,213,.54)) !important;
    box-shadow: 0 24px 52px rgba(54, 47, 38, .08);
}

.bbcc-tutor-certificate-card h1 {
    letter-spacing: -0.03em;
    margin: .25rem 0 .65rem;
}

.bbcc-tutor-certificate-card p {
    color: #6d6258;
    line-height: 1.58;
    max-width: 58ch;
}

.bbcc-tutor-certificate-card.is-available {
    border-color: rgba(115,116,94,.24) !important;
}

.bbcc-tutor-certificate-card.is-pending {
    border-color: rgba(181,167,149,.24) !important;
}

.bbcc-tutor-certificate-card .bbcc-progress,
.bbcc-tutor-certificate-card .bbcc-progress-bar,
.bbcc-tutor-certificate-card .bbcc-progress-track {
    margin-top: 18px;
    margin-bottom: 18px;
}

/* PDF, video y clase en vivo: microcierre visual */
.bbcc-content-resource,
.bbcc-live-card,
.bbcc-content-rendered-pro,
.bbcc-pdf-card,
.bbcc-video-card {
    box-shadow: 0 14px 32px rgba(54, 47, 38, .055);
}

.bbcc-content-resource-head {
    border-bottom: 1px solid rgba(109,98,88,.12);
    padding-bottom: 12px;
    margin-bottom: 14px;
}

/* Mobile: mantiene el cierre premium sin volver pesada la experiencia */
@media (max-width: 760px) {
    .bbcc-compatible-quiz-complete {
        grid-template-columns: 1fr;
        padding: 14px !important;
    }

    .bbcc-quiz-status-dot {
        width: 32px;
        height: 32px;
    }

    .bbcc-compatible-question {
        padding: 14px !important;
        border-radius: 18px !important;
    }

    .bbcc-compatible-question legend {
        align-items: flex-start;
        font-size: .94rem;
        line-height: 1.34;
    }

    .bbcc-compatible-option {
        padding: 11px 12px !important;
        border-radius: 14px !important;
    }

    .bbcc-tutor-certificate-card {
        margin: 16px auto;
        padding: 20px !important;
        border-radius: 22px !important;
    }

    .bbcc-tutor-certificate-card h1 {
        font-size: clamp(1.35rem, 6vw, 1.85rem) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bbcc-btn,
    .bbcc-tool-card,
    .bbcc-side-module,
    .bbcc-content-nav-item,
    .bbcc-room-module-card,
    .bbcc-module-pro-item,
    .bbcc-compatible-option {
        transition: none !important;
    }

    .bbcc-btn:hover,
    .bbcc-tool-card:hover,
    .bbcc-side-module:hover,
    .bbcc-content-nav-item:hover,
    .bbcc-room-module-card:hover,
    .bbcc-module-pro-item:hover,
    .bbcc-compatible-option:hover {
        transform: none !important;
    }
}


/* ==========================================================================
   v0.16.5 — Página única "Aula virtual"
   --------------------------------------------------------------------------
   Shortcode [bb_campus_aula_virtual]. Acceso público para alumnos:
   login si no inició sesión; Mi Campus si ya está logueado.
   ========================================================================== */

.bbcc-aula-virtual-wrap {
    max-width: 1120px;
    margin: 0 auto;
    padding: 32px 18px 46px;
}

.bbcc-aula-virtual-access {
    max-width: 760px;
    margin: 0 auto 18px;
    padding: 26px 28px;
    border: 1px solid rgba(109, 98, 88, .14);
    border-radius: 26px;
    background:
        radial-gradient(circle at top left, rgba(181, 167, 149, .16), transparent 36%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(237,227,213,.48));
    box-shadow: 0 18px 44px rgba(54, 47, 38, .065);
    text-align: left;
}

.bbcc-aula-virtual-access h1 {
    margin: .2rem 0 .55rem;
    font-size: clamp(1.75rem, 3.6vw, 2.55rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
    color: #242321;
}

.bbcc-aula-virtual-access p {
    margin: 0;
    max-width: 58ch;
    color: #6d6258;
    line-height: 1.58;
}

@media (max-width: 760px) {
    .bbcc-aula-virtual-wrap {
        padding: 18px 12px 32px;
    }

    .bbcc-aula-virtual-access {
        padding: 18px;
        border-radius: 20px;
        margin-bottom: 14px;
    }

    .bbcc-aula-virtual-access h1 {
        font-size: clamp(1.35rem, 6vw, 1.8rem);
    }

    .bbcc-aula-virtual-access p {
        font-size: .9rem;
    }
}


/* ==========================================================================
   v0.17.0 — Flujo público: Formaciones + Aula virtual
   --------------------------------------------------------------------------
   [bb_campus_formaciones] permite que Formaciones sea la página pública de
   venta/presentación, dejando Aula virtual como acceso privado de alumnos.
   ========================================================================== */

.bbcc-formaciones-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 34px 18px 52px;
}

.bbcc-formaciones-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    gap: 22px;
    align-items: stretch;
    margin-bottom: 24px;
    padding: 30px;
    border: 1px solid rgba(109, 98, 88, .14);
    border-radius: 30px;
    background:
        radial-gradient(circle at top left, rgba(181,167,149,.16), transparent 36%),
        linear-gradient(135deg, rgba(255,255,255,.78), rgba(237,227,213,.48));
    box-shadow: 0 22px 54px rgba(54,47,38,.07);
}

.bbcc-formaciones-hero h1 {
    margin: .2rem 0 .55rem;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.04;
    letter-spacing: -0.045em;
    color: #242321;
}

.bbcc-formaciones-hero p {
    max-width: 68ch;
    margin: 0;
    color: #6d6258;
    line-height: 1.6;
    font-size: 1rem;
}

.bbcc-formaciones-access {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    padding: 20px;
    border-radius: 22px;
    border: 1px solid rgba(109, 98, 88, .14);
    background: rgba(248,244,237,.72);
}

.bbcc-formaciones-access span {
    color: #6d6258;
    font-size: .88rem;
    font-weight: 700;
}

.bbcc-formaciones-catalog {
    min-width: 0;
}

.bbcc-formaciones-catalog .bbcc-catalog-hero,
.bbcc-formaciones-catalog .bbcc-campus-hero {
    display: none !important;
}

@media (max-width: 900px) {
    .bbcc-formaciones-hero {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .bbcc-formaciones-access {
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .bbcc-formaciones-wrap {
        padding: 20px 12px 36px;
    }

    .bbcc-formaciones-hero {
        padding: 18px;
        border-radius: 22px;
        gap: 16px;
    }

    .bbcc-formaciones-hero h1 {
        font-size: clamp(1.45rem, 8vw, 2.05rem);
    }

    .bbcc-formaciones-hero p {
        font-size: .9rem;
    }

    .bbcc-formaciones-access {
        padding: 15px;
        border-radius: 18px;
    }

    .bbcc-formaciones-access .bbcc-btn {
        width: 100%;
    }
}


/* ==========================================================================
   v0.17.1 — Ventas integradas en Formaciones
   --------------------------------------------------------------------------
   Corrige shortcodes de v0.17.0 y agrega [bb_campus_ventas] para insertar
   cursos pagos sin perder el contenido institucional de Formaciones.
   ========================================================================== */

.bbcc-campus-sales-block {
    max-width: 1120px;
    margin: 34px auto;
    padding: 0 18px;
}

.bbcc-campus-sales-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: end;
    margin-bottom: 18px;
}

.bbcc-campus-sales-head h2 {
    margin: .15rem 0 .4rem;
    font-size: clamp(1.65rem, 3vw, 2.45rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.bbcc-campus-sales-head p {
    max-width: 68ch;
    margin: 0;
    color: #6d6258;
    line-height: 1.58;
}

.bbcc-course-price-inline {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    margin: 10px 0 12px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(109, 98, 88, .14);
    background: rgba(248, 244, 237, .72);
}

.bbcc-course-price-inline span {
    color: #6d6258;
    font-size: .76rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.bbcc-course-price-inline strong {
    color: #242321;
    font-size: .95rem;
    font-weight: 800;
}

.bbcc-course-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}

.bbcc-course-card-actions .bbcc-btn {
    flex: 1 1 150px;
}

.bbcc-sales-filters {
    margin-bottom: 18px;
}

@media (max-width: 760px) {
    .bbcc-campus-sales-block {
        margin: 24px auto;
        padding: 0 12px;
    }

    .bbcc-campus-sales-head {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .bbcc-campus-sales-head .bbcc-btn {
        width: 100%;
    }

    .bbcc-course-card-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .bbcc-course-card-actions .bbcc-btn {
        width: 100%;
    }
}


/* ==========================================================================
   v0.17.4 — Corrección segura Formaciones + Aula virtual
   --------------------------------------------------------------------------
   No reemplaza la plantilla de /formaciones/. La página Formaciones conserva
   su diseño original. Los cursos de Campus Core se insertan con:
   [bb_campus_formaciones_cursos]
   ========================================================================== */

.bbcc-menu-aula-virtual > a {
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    padding: .46rem .74rem !important;
}

.bbcc-campus-inline-courses {
    max-width: 1120px;
    margin: 38px auto;
    padding: 0 18px;
}

.bbcc-campus-inline-head {
    max-width: 760px;
    margin: 0 auto 18px;
}

.bbcc-campus-inline-head h2 {
    margin: .15rem 0 .45rem;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.bbcc-campus-inline-head p {
    margin: 0;
    max-width: 62ch;
    color: #6d6258;
    line-height: 1.58;
}

.bbcc-campus-inline-courses .bbcc-course-grid {
    max-width: 760px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.bbcc-campus-inline-courses .bbcc-course-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(109, 98, 88, .16);
    background: rgba(255,255,255,.76);
    box-shadow: 0 14px 32px rgba(54,47,38,.055);
}

.bbcc-campus-inline-courses .bbcc-course-thumb {
    display: none !important;
}

.bbcc-campus-inline-courses .bbcc-course-body {
    padding: 18px 20px;
}

.bbcc-campus-inline-courses .bbcc-course-body h3 {
    margin: .35rem 0 .35rem;
    font-size: clamp(1.06rem, 2vw, 1.28rem);
    line-height: 1.23;
}

.bbcc-course-price-inline {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    margin: 10px 0 12px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(109, 98, 88, .14);
    background: rgba(248, 244, 237, .72);
}

.bbcc-course-price-inline span {
    color: #6d6258;
    font-size: .76rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.bbcc-course-price-inline strong {
    color: #242321;
    font-size: .95rem;
    font-weight: 800;
}

.bbcc-course-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}

.bbcc-course-card-actions .bbcc-btn {
    flex: 1 1 150px;
}

.bbcc-aula-virtual-clean {
    max-width: 1180px;
    margin: 0 auto;
    padding: 28px 18px 48px;
}

.bbcc-aula-virtual-clean .bbcc-student-dashboard,
.bbcc-aula-virtual-clean .bbcc-campus-wrap,
.bbcc-aula-virtual-clean .bbcc-wrap {
    max-width: 1180px;
}

@media (max-width: 760px) {
    .bbcc-campus-inline-courses {
        margin: 28px auto;
        padding: 0 12px;
    }

    .bbcc-course-card-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .bbcc-course-card-actions .bbcc-btn {
        width: 100%;
    }

    .bbcc-aula-virtual-clean {
        padding: 18px 12px 34px;
    }
}


/* ==========================================================================
   v0.17.5 — Corrección directa: Formaciones + Aula virtual
   --------------------------------------------------------------------------
   - Reemplaza en frontend el bloque "Próximas formaciones" por Campus Core.
   - Fuerza capa estética en /aula-virtual/.
   - Ubica Aula virtual después de Formaciones en el menú.
   ========================================================================== */

.bbcc-menu-aula-virtual > a {
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    padding: .46rem .74rem !important;
}

.bbcc-aula-virtual-clean {
    max-width: 1180px;
    margin: 0 auto;
    padding: 28px 18px 48px;
}

.bbcc-aula-virtual-clean .bbcc-student-dashboard,
.bbcc-aula-virtual-clean .bbcc-campus-wrap,
.bbcc-aula-virtual-clean .bbcc-wrap {
    max-width: 1180px;
}

.bbcc-aula-virtual-clean .bbcc-student-dashboard-pro,
.bbcc-aula-virtual-clean .bbcc-dashboard-pro {
    margin-left: auto;
    margin-right: auto;
}

.bbcc-campus-inline-courses {
    max-width: 1120px;
    margin: 38px auto;
    padding: 0 18px;
}

.bbcc-campus-inline-head {
    max-width: 760px;
    margin: 0 auto 18px;
}

.bbcc-campus-inline-head h2 {
    margin: .15rem 0 .45rem;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.bbcc-campus-inline-head p {
    margin: 0;
    max-width: 62ch;
    color: #6d6258;
    line-height: 1.58;
}

.bbcc-campus-inline-courses .bbcc-course-grid {
    max-width: 760px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.bbcc-campus-inline-courses .bbcc-course-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(109, 98, 88, .16);
    background: rgba(255,255,255,.76);
    box-shadow: 0 14px 32px rgba(54,47,38,.055);
}

.bbcc-campus-inline-courses .bbcc-course-thumb {
    display: none !important;
}

.bbcc-campus-inline-courses .bbcc-course-body {
    padding: 18px 20px;
}

.bbcc-campus-inline-courses .bbcc-course-body h3 {
    margin: .35rem 0 .35rem;
    font-size: clamp(1.06rem, 2vw, 1.28rem);
    line-height: 1.23;
}

@media (max-width: 760px) {
    .bbcc-aula-virtual-clean {
        padding: 18px 12px 34px;
    }

    .bbcc-campus-inline-courses {
        margin: 28px auto;
        padding: 0 12px;
    }
}


/* ==========================================================================
   v0.17.6 — Ajuste fino Formaciones y menú
   --------------------------------------------------------------------------
   - Aula virtual se ubica después de Contacto.
   - Próximas formaciones no muestra "Campus Core", bajada ni precio.
   - La tarjeta de curso usa el ancho de página en formato horizontal compacto.
   ========================================================================== */

/* Mantener Aula virtual como píldora/círculo y ubicarla visualmente al final */
.bbcc-menu-aula-virtual > a {
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 999px !important;
    padding: .46rem .78rem !important;
    white-space: nowrap;
}

/* Bloque Próximas formaciones más integrado a la página */
.bbcc-campus-inline-courses {
    max-width: 1180px !important;
    margin: 28px auto 34px !important;
    padding: 0 18px !important;
}

.bbcc-campus-inline-head {
    max-width: 1180px !important;
    margin: 0 auto 14px !important;
}

.bbcc-campus-inline-head .bbcc-kicker,
.bbcc-campus-inline-head > span {
    display: none !important;
}

.bbcc-campus-inline-head h2 {
    margin: 0 0 12px !important;
    font-size: clamp(1.55rem, 2.6vw, 2.05rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em;
}

.bbcc-campus-inline-head p {
    display: none !important;
}

/* La tarjeta ocupa ancho de página, más baja y horizontal */
.bbcc-campus-inline-courses .bbcc-course-grid {
    max-width: 1180px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
}

.bbcc-campus-inline-courses .bbcc-course-card {
    width: 100% !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.74) !important;
    border: 1px solid rgba(109,98,88,.15) !important;
    box-shadow: 0 12px 28px rgba(54,47,38,.052) !important;
}

.bbcc-campus-inline-courses .bbcc-course-thumb {
    display: none !important;
}

.bbcc-campus-inline-courses .bbcc-course-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "meta actions"
        "title actions"
        "desc actions"
        "mini actions";
    gap: 6px 22px !important;
    align-items: center !important;
    padding: 16px 20px !important;
}

.bbcc-campus-inline-courses .bbcc-meta-row {
    grid-area: meta;
    margin: 0 !important;
}

.bbcc-campus-inline-courses .bbcc-course-body h3 {
    grid-area: title;
    margin: 0 !important;
    font-size: clamp(1.05rem, 1.65vw, 1.25rem) !important;
    line-height: 1.22 !important;
}

.bbcc-campus-inline-courses .bbcc-course-body h3 a {
    text-decoration: none !important;
}

.bbcc-campus-inline-courses .bbcc-course-body > p {
    grid-area: desc;
    margin: 2px 0 0 !important;
    max-width: 78ch !important;
    color: #6d6258 !important;
    line-height: 1.42 !important;
    font-size: .93rem !important;
}

.bbcc-campus-inline-courses .bbcc-mini-data {
    grid-area: mini;
    margin-top: 4px !important;
}

.bbcc-campus-inline-courses .bbcc-course-price-inline {
    display: none !important;
}

.bbcc-campus-inline-courses .bbcc-course-card-actions {
    grid-area: actions;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin: 0 !important;
    min-width: 360px;
}

.bbcc-campus-inline-courses .bbcc-course-card-actions .bbcc-btn {
    flex: 0 0 auto !important;
    min-width: 150px;
    min-height: 40px;
    padding-top: .62rem !important;
    padding-bottom: .62rem !important;
}

/* Etiquetas un poco más discretas para la página pública */
.bbcc-campus-inline-courses .bbcc-tag,
.bbcc-campus-inline-courses .bbcc-status {
    font-size: .72rem !important;
    padding: 5px 9px !important;
}

@media (max-width: 900px) {
    .bbcc-campus-inline-courses .bbcc-course-body {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "meta"
            "title"
            "desc"
            "mini"
            "actions";
        gap: 8px !important;
    }

    .bbcc-campus-inline-courses .bbcc-course-card-actions {
        min-width: 0;
        justify-content: stretch !important;
    }

    .bbcc-campus-inline-courses .bbcc-course-card-actions .bbcc-btn {
        flex: 1 1 0 !important;
    }
}

@media (max-width: 640px) {
    .bbcc-campus-inline-courses {
        margin: 24px auto 30px !important;
        padding: 0 12px !important;
    }

    .bbcc-campus-inline-courses .bbcc-course-body {
        padding: 15px !important;
    }

    .bbcc-campus-inline-courses .bbcc-course-card-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .bbcc-campus-inline-courses .bbcc-course-card-actions .bbcc-btn {
        width: 100% !important;
        min-width: 0;
    }
}


/* ==========================================================================
   v0.17.7 — Quitar encabezados grandes de Aula virtual y Formaciones
   --------------------------------------------------------------------------
   Las páginas públicas empiezan directamente con el contenido útil debajo del
   menú: Mi Campus en Aula virtual y Próximas formaciones en Formaciones.
   ========================================================================== */

body.bbcc-page-title-removed .bbcc-first-visible-section {
    margin-top: 0 !important;
}

body.bbcc-page-title-removed-aula-virtual .bbcc-aula-virtual-clean,
body.bbcc-page-title-removed-aula-virtual .bbcc-aula-virtual-wrap {
    padding-top: 22px !important;
}

body.bbcc-page-title-removed-aula-virtual .bbcc-aula-virtual-clean > .bbcc-student-dashboard,
body.bbcc-page-title-removed-aula-virtual .bbcc-aula-virtual-clean > .bbcc-campus-wrap,
body.bbcc-page-title-removed-aula-virtual .bbcc-aula-virtual-clean > .bbcc-wrap {
    margin-top: 0 !important;
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses {
    margin-top: 26px !important;
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-head h2 {
    margin-top: 0 !important;
}

/* Cuando el tema deja espacios vacíos alrededor del hero eliminado */
body.bbcc-page-title-removed .site-main,
body.bbcc-page-title-removed main,
body.bbcc-page-title-removed .entry-content {
    padding-top: 0 !important;
}

@media (max-width: 760px) {
    body.bbcc-page-title-removed-aula-virtual .bbcc-aula-virtual-clean,
    body.bbcc-page-title-removed-aula-virtual .bbcc-aula-virtual-wrap {
        padding-top: 14px !important;
    }

    body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses {
        margin-top: 18px !important;
    }
}


/* ==========================================================================
   v0.17.8 — Compra directa y separación visual en Formaciones
   --------------------------------------------------------------------------
   Inscribirme evita la página nativa del producto y va directo a checkout/carrito.
   Formaciones incorpora una transición visual más cuidada debajo del menú.
   ========================================================================== */

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses {
    margin-top: 0 !important;
    padding-top: 34px !important;
    padding-bottom: 34px !important;
    border-top: 1px solid rgba(109, 98, 88, .11);
    background:
        linear-gradient(180deg, rgba(237, 227, 213, .32), rgba(248, 244, 237, 0) 42%);
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses::before {
    content: "";
    display: block;
    width: 54px;
    height: 2px;
    margin: 0 0 24px 0;
    background: #b0822d;
    opacity: .85;
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-head {
    margin-bottom: 16px !important;
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-head h2 {
    margin-bottom: 0 !important;
}

/* La tarjeta queda compacta, pero con mejor aire respecto del bloque superior */
body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses .bbcc-course-card {
    margin-top: 0 !important;
}

/* Evita que WooCommerce muestre producto como destino principal desde las tarjetas Campus */
.bbcc-campus-inline-courses .bbcc-course-card-actions .bbcc-btn-primary {
    box-shadow: 0 12px 24px rgba(54, 55, 42, .13);
}

@media (max-width: 760px) {
    body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses {
        padding-top: 24px !important;
        padding-bottom: 28px !important;
    }

    body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses::before {
        margin-bottom: 18px;
    }
}


/* ==========================================================================
   v0.17.9 — Menú consistente, checkout como inscripción y bloque premium
   --------------------------------------------------------------------------
   - Aula virtual conserva siempre el estilo de píldora/botón.
   - Finalizar compra se presenta como Finalizar inscripción.
   - Próximas formaciones queda dentro de un bloque contenedor más trabajado.
   ========================================================================== */

/* Aula virtual como botón/píldora en cualquier página, aunque venga del menú del tema */
nav a.bbcc-aula-menu-pill,
header a.bbcc-aula-menu-pill,
.menu a.bbcc-aula-menu-pill,
.main-navigation a.bbcc-aula-menu-pill,
.site-header a.bbcc-aula-menu-pill,
.bbcc-menu-aula-virtual > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    border-radius: 999px !important;
    padding: .46rem .78rem !important;
    min-height: 38px;
    line-height: 1 !important;
    white-space: nowrap !important;
    background: rgba(255,255,255,.035) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
}

nav a.bbcc-aula-menu-pill:hover,
header a.bbcc-aula-menu-pill:hover,
.menu a.bbcc-aula-menu-pill:hover,
.main-navigation a.bbcc-aula-menu-pill:hover,
.site-header a.bbcc-aula-menu-pill:hover,
.bbcc-menu-aula-virtual > a:hover {
    background: rgba(255,255,255,.075) !important;
    border-color: rgba(255,255,255,.36) !important;
}

/* Formaciones: bloque dentro de bloque, más cercano a Aula virtual */
body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses {
    max-width: 1180px !important;
    margin: 28px auto 54px !important;
    padding: 30px 34px 34px !important;
    border: 1px solid rgba(109, 98, 88, .14) !important;
    border-radius: 28px !important;
    background:
        radial-gradient(circle at top left, rgba(181,167,149,.16), transparent 36%),
        linear-gradient(135deg, rgba(255,255,255,.72), rgba(237,227,213,.46)) !important;
    box-shadow: 0 22px 52px rgba(54,47,38,.07);
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses::before {
    content: "";
    display: block;
    width: 58px;
    height: 2px;
    margin: 0 0 22px 0;
    background: #b0822d;
    opacity: .85;
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-head {
    max-width: 1180px !important;
    margin: 0 0 16px !important;
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-head h2 {
    font-size: clamp(1.55rem, 2.55vw, 2.12rem) !important;
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses .bbcc-course-grid {
    max-width: 100% !important;
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses .bbcc-course-card {
    background: rgba(255,255,255,.78) !important;
    border-color: rgba(109,98,88,.15) !important;
    box-shadow: 0 14px 34px rgba(54,47,38,.06) !important;
}

/* Checkout: reducir sensación de página genérica de compra */
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .page-title {
    letter-spacing: -0.045em;
}

@media (max-width: 760px) {
    body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses {
        margin: 20px 12px 38px !important;
        padding: 22px 16px 20px !important;
        border-radius: 22px !important;
    }

    body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses::before {
        margin-bottom: 18px;
    }

    nav a.bbcc-aula-menu-pill,
    header a.bbcc-aula-menu-pill,
    .menu a.bbcc-aula-menu-pill,
    .main-navigation a.bbcc-aula-menu-pill,
    .site-header a.bbcc-aula-menu-pill,
    .bbcc-menu-aula-virtual > a {
        min-height: 36px;
        padding: .42rem .7rem !important;
    }
}


/* ==========================================================================
   v0.18.0 — Cierre visual Formaciones + Aula virtual compacta
   --------------------------------------------------------------------------
   - Formaciones: bloque a ancho completo con color de contraste.
   - Aula virtual: elimina resumen "Continuar cursada" y muestra cursos directo.
   - Aula virtual del menú: píldora global reforzada desde wp_head.
   ========================================================================== */

/* Formaciones: bloque completo, con contraste y contenido centrado */
body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    margin-bottom: 58px !important;
    padding: 38px max(18px, calc((100vw - 1180px) / 2)) 42px !important;
    border-radius: 0 !important;
    border-top: 1px solid rgba(109,98,88,.10) !important;
    border-bottom: 1px solid rgba(109,98,88,.10) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    background:
        radial-gradient(circle at 12% 20%, rgba(181,167,149,.22), transparent 34%),
        linear-gradient(135deg, rgba(237,227,213,.82), rgba(248,244,237,.94)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(109,98,88,.06) !important;
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses::before {
    content: "";
    display: block;
    width: 58px;
    height: 2px;
    margin: 0 0 22px 0;
    background: #b0822d;
    opacity: .9;
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-head,
body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses .bbcc-course-grid {
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses .bbcc-course-card {
    background: rgba(255,255,255,.82) !important;
    border: 1px solid rgba(109,98,88,.14) !important;
    box-shadow: 0 18px 42px rgba(54,47,38,.065) !important;
}

/* Aula virtual / Mi Campus: versión directa, sin contenedor de continuidad */
.bbcc-aula-virtual-clean {
    padding-top: 18px !important;
}

.bbcc-student-portal-compact {
    max-width: 1180px !important;
}

.bbcc-student-compact-hero {
    display: block !important;
    max-width: 1180px;
    margin: 0 auto 18px !important;
    padding: 22px 26px !important;
    border: 1px solid rgba(109,98,88,.13);
    border-radius: 24px;
    background:
        radial-gradient(circle at top left, rgba(181,167,149,.14), transparent 36%),
        rgba(255,255,255,.58);
    box-shadow: 0 16px 34px rgba(54,47,38,.052);
}

.bbcc-student-compact-hero h1 {
    margin: .15rem 0 .35rem !important;
    font-size: clamp(1.8rem, 3vw, 2.55rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
}

.bbcc-student-compact-hero p {
    max-width: 720px;
    margin: 0 !important;
    color: #6d6258;
    line-height: 1.5;
    font-size: .98rem;
}

.bbcc-student-courses-direct {
    margin-top: 0 !important;
}

.bbcc-student-courses-direct .bbcc-section-heading {
    margin-bottom: 14px !important;
}

.bbcc-student-courses-direct .bbcc-section-heading p {
    display: none !important;
}

.bbcc-student-course-card-direct {
    grid-template-columns: minmax(0, 1fr) minmax(170px, 220px) !important;
    padding: 18px 22px !important;
    border-radius: 22px !important;
}

.bbcc-student-course-card-direct h3 {
    font-size: clamp(1.12rem, 1.7vw, 1.42rem) !important;
}

.bbcc-student-course-card-direct .bbcc-student-course-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

.bbcc-student-course-card-direct .bbcc-student-course-actions .bbcc-btn {
    width: 100%;
    min-height: 42px;
}

.bbcc-dashboard-tools-compact {
    margin-top: 16px !important;
}

/* Oculta cualquier resto visual de la antigua tarjeta de resumen si quedara cacheada */
.bbcc-student-portal-compact .bbcc-student-portal-resume,
.bbcc-student-portal-compact .bbcc-student-portal-stats,
.bbcc-student-portal-compact .bbcc-student-next-step {
    display: none !important;
}

@media (max-width: 900px) {
    .bbcc-student-course-card-direct {
        grid-template-columns: 1fr !important;
    }

    .bbcc-student-course-card-direct .bbcc-student-course-actions {
        justify-content: stretch !important;
    }
}

@media (max-width: 760px) {
    body.bbcc-page-title-removed-formaciones .bbcc-campus-inline-courses {
        padding: 26px 12px 30px !important;
        margin-bottom: 38px !important;
    }

    .bbcc-student-compact-hero {
        padding: 18px !important;
        border-radius: 20px;
    }

    .bbcc-student-compact-hero h1 {
        font-size: clamp(1.45rem, 7vw, 1.9rem) !important;
    }

    .bbcc-student-course-card-direct {
        padding: 16px !important;
    }
}


/* v0.18.1: ajustes publicables de páginas generales se imprimen inline desde wp_head
   para funcionar también en páginas donde el tema no encola assets del plugin. */

/* v0.18.4: centra título y bajada de Trayectoria desde wp_head. */

/* v0.18.5: refinamiento visual del encabezado de Trayectoria. */

/* v0.18.6: encabezado editorial horizontal para Trayectoria. */

/* v0.18.7: elimina línea decorativa duplicada en encabezado Trayectoria. */

/* v0.18.8: centra la línea decorativa bajo Trayectoria. */

/* v0.18.9: Aula virtual no logueada sin encabezado duplicado; catálogo apunta a Formaciones. */


/* v0.19.0: oculta archivo de formaciones realizadas en /formaciones/. */
.bbcc-hidden-formaciones-archive {
    display: none !important;
}

/* v1.0.0: versión estable publicable del Campus. */


/* ==========================================================================
   v1.0.1 — Corrección de descripción superpuesta en Formaciones
   --------------------------------------------------------------------------
   Evita que subtítulo y descripción breve ocupen la misma área de grilla
   dentro de la tarjeta de Próximas formaciones.
   ========================================================================== */

.bbcc-campus-inline-courses .bbcc-course-body {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: none !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    align-items: center !important;
}

.bbcc-campus-inline-courses .bbcc-course-body .bbcc-meta-row,
.bbcc-campus-inline-courses .bbcc-course-body h3,
.bbcc-campus-inline-courses .bbcc-course-body > p,
.bbcc-campus-inline-courses .bbcc-course-body .bbcc-mini-data,
.bbcc-campus-inline-courses .bbcc-course-body .bbcc-course-price-inline {
    grid-column: 1 !important;
    grid-row: auto !important;
}

.bbcc-campus-inline-courses .bbcc-course-body > p {
    position: static !important;
    display: block !important;
    max-width: 76ch !important;
    margin: 2px 0 0 !important;
    line-height: 1.42 !important;
    overflow: visible !important;
    text-overflow: initial !important;
    white-space: normal !important;
}

.bbcc-campus-inline-courses .bbcc-course-body > p + p {
    margin-top: 4px !important;
}

.bbcc-campus-inline-courses .bbcc-course-body .bbcc-subtitle {
    font-weight: 700 !important;
    color: #5f5a53 !important;
}

.bbcc-campus-inline-courses .bbcc-course-card-actions {
    grid-column: 2 !important;
    grid-row: 1 / span 6 !important;
    align-self: center !important;
    justify-self: end !important;
    margin: 0 !important;
}

.bbcc-campus-inline-courses .bbcc-mini-data {
    margin-top: 12px !important;
}

@media (min-width: 901px) {
    .bbcc-campus-inline-courses .bbcc-course-body {
        column-gap: 28px !important;
    }

    .bbcc-campus-inline-courses .bbcc-course-card-actions {
        min-width: 360px !important;
    }
}

@media (max-width: 900px) {
    .bbcc-campus-inline-courses .bbcc-course-body {
        grid-template-columns: 1fr !important;
    }

    .bbcc-campus-inline-courses .bbcc-course-card-actions {
        grid-column: 1 !important;
        grid-row: auto !important;
        justify-self: stretch !important;
        margin-top: 12px !important;
        min-width: 0 !important;
    }
}


/* ==========================================================================
   v1.0.2 — Cursos públicos en Formaciones
   --------------------------------------------------------------------------
   Ajuste de tarjeta pública para subtítulo, bajada, datos y botones.
   ========================================================================== */

.bbcc-campus-inline-courses .bbcc-empty-public-courses {
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(109,98,88,.14);
    border-radius: 20px;
    padding: 24px 28px;
    color: #6d6258;
}

.bbcc-campus-inline-courses .bbcc-course-body .bbcc-subtitle {
    font-weight: 750 !important;
    color: #5f5a53 !important;
    line-height: 1.28 !important;
    margin-top: 4px !important;
}

.bbcc-campus-inline-courses .bbcc-course-body > p:not(.bbcc-subtitle) {
    color: #6d6258 !important;
    line-height: 1.42 !important;
    margin-top: 4px !important;
}

.bbcc-campus-inline-courses .bbcc-mini-data span {
    display: inline-flex;
    align-items: center;
}
