.container-detalhe {
    background: var(--white);
    border-radius: calc(var(--default-border-radius) * 1.5);
    box-shadow: var(--box-shadow-media);
    font-family: inherit;
    margin-top: calc(var(--default-spacement) * 2);
    padding: calc(var(--default-spacement) * 3) calc(var(--default-spacement) * 2) calc(var(--default-spacement) * 4);
}

.container-detalhe * {
    font-family: inherit;
}

/* Título e imagem de capa do tema. */
.container-detalhe h1 {
    color: var(--primary-text);
    font-weight: 800;
    line-height: 1.3;
}

.tema-detalhe-header {
    background: var(--white);
    border-radius: calc(var(--default-border-radius) * 1.5);
    margin-bottom: calc(var(--default-spacement) * 2);
    padding: calc(var(--default-spacement) * 1.5);
}

.img-tema-capa {
    border-radius: calc(var(--default-border-radius) * 2);
    box-shadow: var(--box-shadow-media);
    margin-bottom: calc(var(--default-spacement) * 2);
    max-height: calc(var(--default-spacement) * 18);
    object-fit: cover;
}

/* Texto da proposta e subtítulos das seções. */
.conteudo-tema,
.tema-redacao {
    color: var(--primary-text);
}

.section-title {
    color: var(--primary);
    display: inline-block;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: var(--half-spacement);
    text-transform: uppercase;
}

.tema-redacao {
    line-height: 1.8;
}

/* Cards dos textos motivadores. */
.card-recurso {
    border: 0;
    border-radius: calc(var(--default-border-radius) * 1.5);
    box-shadow: var(--box-shadow-media);
    height: auto !important;
    max-width: 100%;
    min-height: 0;
    overflow: visible;
    width: 100%;
}

.card-recurso .card-body {
    color: var(--primary-text);
    height: auto !important;
    line-height: 1.7;
    min-height: 0;
    overflow: visible;
    padding: calc(var(--default-spacement) * 1.4);
}

.card-recurso img,
.card-recurso iframe,
.recurso-tema-imagem {
    border-radius: var(--default-border-radius);
    height: auto !important;
    max-height: none !important;
    max-width: 100%;
    object-fit: contain;
}

.recurso-tema-imagem {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: min(100%, calc(var(--default-spacement) * 30));
}

.recurso-tema-link-fallback {
    display: none;
    overflow-wrap: anywhere;
}

/* Botões finais: metade da linha para escrever e metade para revisar. */
.tema-detalhe-actions {
    display: flex;
    gap: var(--half-spacement);
    width: 100%;
}

.tema-detalhe-actions .btn {
    flex: 0 1 calc((100% - var(--half-spacement)) / 2);
}

.btn-escreva-tema {
    background-color: var(--primary);
}

.btn-escreva-tema:hover {
    background-color: rgb(4, 77, 156) !important;
}

.btn-revise-tema {
    background-color: var(--secondary);
}

.btn-revise-tema:hover {
    background-color: rgb(92, 3, 209) !important;
}