/* ============================================================
   MEU DINDIM - Blog de Conteúdo (estilos próprios)
   Usa as variáveis do landing.css (--bg-page, --primary, etc).
   ============================================================ */

.bl-wrap { max-width: 1080px; margin: 0 auto; padding: 32px 20px 64px; }

.bl-hero { text-align: center; max-width: 760px; margin: 8px auto 36px; }
.bl-hero .bl-tag { display:inline-block; background:#EEF2FF; color:var(--primary); font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; padding:6px 14px; border-radius:999px; margin-bottom:16px; }
.bl-hero h1 { font-size: clamp(26px, 4vw, 40px); line-height:1.18; margin:0 0 14px; }
.bl-hero p { color:#4B5563; font-size:clamp(15px, 2vw, 17px); line-height:1.6; margin:0; }

.bl-search { display:flex; gap:8px; max-width:560px; margin:20px auto 0; }
.bl-search input {
  flex:1; min-width:0; padding:12px 16px; border-radius:999px; border:1.5px solid #D1D5DB;
  font-size:15px; background:#fff; color:var(--text-1); outline:none; transition:border-color .15s, box-shadow .15s;
}
.bl-search input:focus { border-color:var(--primary); box-shadow:0 0 0 4px rgba(37,99,235,.12); }
.bl-search button {
  width:46px; height:46px; border:0; border-radius:999px; background:var(--primary); color:#fff;
  font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:background .15s, transform .1s;
}
.bl-search button:hover { background:var(--primary-2); }
.bl-search button:active { transform:scale(.95); }

.bl-featured { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:stretch; margin-bottom:40px; }
.bl-featured__cover, .bl-card__cover { position:relative; display:block; border-radius:16px; overflow:hidden; background:linear-gradient(135deg, var(--primary), var(--primary-2)); min-height:190px; }
.bl-featured__cover img, .bl-card__cover img { width:100%; height:100%; object-fit:cover; display:block; }
.bl-featured__cover .bl-cover-icon, .bl-card__cover .bl-cover-icon { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:56px; color:#fff; }
.bl-featured__body { background:var(--bg-card); border:1px solid #E5E7EB; border-radius:16px; padding:26px; display:flex; flex-direction:column; }
.bl-featured__body h2 { font-size:clamp(20px, 3vw, 26px); margin:0 0 10px; line-height:1.3; }
.bl-featured__body h2 a { color:inherit; text-decoration:none; }
.bl-featured__body h2 a:hover { color:var(--primary); }
.bl-featured__body p { color:#4B5563; line-height:1.65; margin:0 0 16px; }

.bl-meta { display:flex; flex-wrap:wrap; gap:8px 16px; color:#6B7280; font-size:13px; margin-bottom:14px; }
.bl-meta i { color:var(--primary); margin-right:4px; }

.bl-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:22px; }
.bl-card { background:var(--bg-card); border:1px solid #E5E7EB; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:transform .15s ease, box-shadow .15s ease; }
.bl-card:hover { transform:translateY(-3px); box-shadow:0 10px 24px rgba(37,99,235,.10); }
.bl-card__cover { min-height:150px; border-radius:0; }
.bl-card__body { padding:18px 20px 22px; display:flex; flex-direction:column; flex:1; }
.bl-card__body h3 { font-size:17px; line-height:1.35; margin:0 0 8px; }
.bl-card__body h3 a { color:inherit; text-decoration:none; }
.bl-card__body h3 a:hover { color:var(--primary); }
.bl-card__body p { color:#4B5563; font-size:14px; line-height:1.6; margin:0 0 14px; }
.bl-card__body .bl-meta { margin-bottom:0; margin-top:auto; }

.bl-card__cta { margin-top:auto; }

/* Paginação */
.bl-pagination { display:flex; justify-content:center; gap:10px; margin-top:36px; }
.bl-pagination a, .bl-pagination span { min-width:42px; text-align:center; padding:9px 14px; border-radius:10px; font-weight:600; font-size:14px; }
.bl-pagination a { background:var(--bg-card); border:1px solid #E5E7EB; color:var(--primary); text-decoration:none; }
.bl-pagination a:hover { background:#EEF2FF; }
.bl-pagination .is-current { background:var(--primary); border-color:var(--primary); color:#fff; }

.bl-empty { text-align:center; padding:60px 20px; color:#6B7280; }
.bl-empty i { font-size:44px; color:#C7D2FE; margin-bottom:12px; display:block; }

/* ============ Página do artigo ============ */
.bl-article { max-width:800px; margin:0 auto; }
.bl-article__header { text-align:left; margin-bottom:28px; }
.bl-article__header h1 { font-size:clamp(24px, 4vw, 36px); line-height:1.2; margin:0 0 14px; }
.bl-article__cover { border-radius:16px; overflow:hidden; margin-bottom:28px; background:linear-gradient(135deg, var(--primary), var(--primary-2)); min-height:200px; display:flex; align-items:center; justify-content:center; }
.bl-article__cover img { width:100%; object-fit:cover; display:block; }
.bl-article__cover .bl-cover-icon { font-size:64px; color:#fff; }
.bl-article__cover__caption { font-size:12px; color:#6B7280; text-align:center; margin-top:6px; }

.bl-article__body { font-size:16px; line-height:1.8; color:#1F2937; }
.bl-article__body p { margin:0 0 18px; }
.bl-article__body h2, .bl-article__body h3 { color:#111827; line-height:1.35; margin:34px 0 12px; }
.bl-article__body h2 { font-size:24px; }
.bl-article__body h3 { font-size:19px; }
.bl-article__body ul, .bl-article__body ol { margin:0 0 18px; padding-left:22px; }
.bl-article__body li { margin-bottom:8px; }
.bl-article__body a { color:var(--primary); font-weight:600; }
.bl-article__body strong { font-weight:700; }

/* Tabelas markdown renderizadas pela IA */
.bl-table-wrap { overflow-x:auto; margin:0 0 22px; border:1px solid #E5E7EB; border-radius:12px; }
.bl-table { width:100%; border-collapse:collapse; font-size:14.5px; line-height:1.6; background:#fff; }
.bl-table th, .bl-table td { padding:11px 14px; text-align:left; border-bottom:1px solid #E5E7EB; vertical-align:top; }
.bl-table th { background:#F3F4F6; color:#111827; font-weight:700; font-size:13.5px; text-transform:none; }
.bl-table tbody tr:last-child td { border-bottom:0; }
.bl-table tbody tr:nth-child(even) { background:#FAFAFB; }

/* Breadcrumb visível */
.bl-breadcrumb { font-size:13px; color:#6B7280; margin-bottom:18px; }
.bl-breadcrumb a { color:var(--primary); text-decoration:none; }
.bl-breadcrumb a:hover { text-decoration:underline; }
.bl-breadcrumb span { margin:0 8px; color:#9CA3AF; }

.bl-author { display:flex; align-items:center; gap:14px; background:#F9FAFB; border:1px solid #E5E7EB; border-radius:14px; padding:16px 18px; margin:30px 0; }
.bl-author__avatar { width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg, var(--primary), var(--primary-2)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:18px; flex:none; }
.bl-author__info strong { display:block; font-size:15px; }
.bl-author__info span { font-size:13px; color:#6B7280; display:block; }

.bl-cta { background:linear-gradient(135deg, var(--primary), var(--primary-2)); color:#fff; border-radius:16px; padding:28px; text-align:center; margin:36px 0; }
.bl-cta h2 { font-size:22px; margin:0 0 8px; color:#fff; }
.bl-cta p { margin:0 0 18px; opacity:.92; font-size:15px; }
.bl-cta .lp-btn--white { background:#fff; color:var(--primary); }
.bl-cta .lp-btn--white:hover { background:#EEF2FF; }

.bl-related h2 { font-size:22px; margin:10px 0 20px; }

/* Rodapé do blog (mesmo padrão da landing) */
.bl-footer { text-align:center; padding:28px 20px 40px; border-top:1px solid #E5E7EB; background:var(--bg-card); }
.bl-footer p { color:#6B7280; font-size:13px; margin:6px 0; }
.bl-footer a { color:var(--primary); text-decoration:none; }

@media (max-width: 720px) {
    .bl-featured { grid-template-columns:1fr; }
    .bl-featured__cover { min-height:170px; }
}

/* ============ Mídia: vídeo, figuras e imagens inline ============ */
.bl-video { position:relative; border-radius:16px; overflow:hidden; margin:0 0 28px; aspect-ratio:16/9; background:#000; box-shadow:0 8px 24px rgba(17,24,39,.12); }
.bl-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
.bl-article__body .bl-video { margin:22px 0; }

.bl-article__cover .bl-figure { margin:0; width:100%; }
.bl-figure { margin:0 0 22px; }
.bl-figure img { width:100%; height:auto; display:block; border-radius:14px; }
.bl-figure figcaption { font-size:13px; color:#6B7280; text-align:center; margin-top:8px; font-style:italic; }
.bl-article__cover .bl-figure img { border-radius:0; }

.bl-inline-img { display:block; max-width:100%; height:auto; border-radius:14px; margin:22px auto; box-shadow:0 4px 16px rgba(17,24,39,.10); }

.bl-video-badge { position:absolute; top:12px; left:12px; z-index:2; background:rgba(17,24,39,.78); color:#fff; width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; }
.bl-card__cover .bl-video-badge { top:10px; left:10px; width:30px; height:30px; font-size:12px; }

/* Tags */
.bl-tags { display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 30px; }
.bl-tag { background:#EEF2FF; color:var(--primary); font-size:13px; font-weight:600; padding:5px 12px; border-radius:999px; }

/* Navegação anterior/próximo */
.bl-prevnext { display:flex; justify-content:space-between; gap:16px; margin:0 0 36px; }
.bl-prevnext__item { flex:1; max-width:49%; background:var(--bg-card); border:1px solid #E5E7EB; border-radius:14px; padding:16px 18px; text-decoration:none; transition:border-color .15s ease, box-shadow .15s ease; }
.bl-prevnext__item:hover { border-color:var(--primary); box-shadow:0 6px 18px rgba(37,99,235,.10); }
.bl-prevnext__item small { display:block; font-size:12px; color:#6B7280; margin-bottom:6px; }
.bl-prevnext__item small i { color:var(--primary); }
.bl-prevnext__item strong { display:block; color:#111827; font-size:14px; line-height:1.4; }
.bl-prevnext__item--next { text-align:right; }
.bl-prevnext__spacer { flex:1; }

/* Uploader no admin */
.bl-upload-row { display:flex; gap:12px; align-items:center; margin-top:6px; }
.bl-upload-row input[type="file"] { flex:1; }

/* FAQ (FAQPage rich results) */
.bl-faq { background:var(--bg-card); border:1px solid #E5E7EB; border-radius:16px; padding:26px; margin:34px 0; }
.bl-faq h2 { font-size:22px; margin:0 0 18px; }
.bl-faq details { border:1px solid #E5E7EB; border-radius:12px; margin-bottom:10px; overflow:hidden; }
.bl-faq details[open] { border-color:var(--primary); }
.bl-faq summary { cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; font-weight:600; font-size:15px; color:#111827; list-style:none; }
.bl-faq summary::-webkit-details-marker { display:none; }
.bl-faq summary i { color:var(--primary); font-size:13px; transition:transform .15s ease; }
.bl-faq details[open] summary i { transform:rotate(180deg); }
.bl-faq__answer { padding:0 16px 14px; color:#4B5563; font-size:14.5px; line-height:1.7; }
.bl-faq__answer p { margin:0 0 8px; }
.bl-faq__answer p:last-child { margin-bottom:0; }