/**
 * Formatação Global de Conteúdo
 * Aplica estilos consistentes para todo conteúdo formatado
 */

/* Classes de conteúdo formatado */
.post-content,
.coupon-description,
.slide-description,
.tip-content p,
.post-excerpt,
.formatted-content {
    text-align: justify;
    line-height: 1.8;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Parágrafos */
.post-content p,
.coupon-description p,
.formatted-content p {
    margin-bottom: 1.5rem;
    text-align: justify;
    line-height: 1.8;
}

.post-content p + p,
.formatted-content p + p {
    margin-top: 1.5rem;
}

/* Cabeçalhos */
.post-content h1,
.post-content h2,
.post-content h3,
.formatted-content h1,
.formatted-content h2,
.formatted-content h3 {
    color: var(--primary-color);
    margin: 2rem 0 1rem;
    line-height: 1.3;
    text-align: left;
}

.post-content h1,
.formatted-content h1 {
    font-size: 2rem;
}

.post-content h2,
.formatted-content h2 {
    font-size: 1.6rem;
}

.post-content h3,
.formatted-content h3 {
    font-size: 1.3rem;
}

/* Formatação inline */
.post-content strong,
.post-content em,
.post-content u,
.formatted-content strong,
.formatted-content em,
.formatted-content u {
    display: inline;
    white-space: normal;
}

.post-content strong,
.formatted-content strong {
    font-weight: 600;
    color: var(--text-primary);
}

.post-content em,
.formatted-content em {
    font-style: italic;
}

.post-content u,
.formatted-content u {
    text-decoration: underline;
}

/* Links (exceto botões) */
.post-content a:not(.btn):not([class*="btn-"]),
.formatted-content a:not(.btn):not([class*="btn-"]) {
    color: var(--primary-color);
    text-decoration: underline;
    transition: color 0.3s ease;
}

.post-content a:not(.btn):not([class*="btn-"]):hover,
.formatted-content a:not(.btn):not([class*="btn-"]):hover {
    color: var(--secondary-color);
}

/* Listas */
.post-content ul,
.post-content ol,
.formatted-content ul,
.formatted-content ol {
    margin: 1.5rem 0;
    padding-left: 2rem;
    text-align: justify;
}

.post-content li,
.formatted-content li {
    margin-bottom: 0.5rem;
    line-height: 1.6;
}

/* Quebras de linha */
.post-content br,
.formatted-content br {
    display: block;
    content: "";
    margin: 0.5rem 0;
}

/* Garantir renderização de blocos */
.post-content > *,
.formatted-content > * {
    display: block;
}

.post-content strong,
.post-content em,
.post-content u,
.post-content a,
.formatted-content strong,
.formatted-content em,
.formatted-content u,
.formatted-content a {
    display: inline;
}

/* Excluir botões da formatação de conteúdo */
.btn,
.btn-primary,
.btn-secondary,
.btn-outline,
.btn-small,
.btn-large,
a.btn,
button.btn {
    display: inline-block !important;
    text-align: center !important;
    color: inherit !important;
}

/* Responsivo */
@media (max-width: 768px) {
    .post-content,
    .formatted-content {
        font-size: 1rem;
        text-align: left;
    }
    
    .post-content p,
    .formatted-content p {
        text-align: left;
    }
}
