/* Blog público e gerenciamento de publicações do Projeto Banhado Seguro. */
.blog-pagina { background: #f6f8f5; min-height: 60vh; }
.blog-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(3.5rem, 8vw, 6.5rem) 0;
    color: #fff;
    background: radial-gradient(circle at 82% 22%, rgba(83, 151, 105, .38), transparent 28%), linear-gradient(128deg, #153526, #245a3d 65%, #173b2b);
}
.blog-hero::after {
    content: "";
    position: absolute;
    width: 24rem;
    height: 24rem;
    right: -8rem;
    bottom: -17rem;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
    box-shadow: 0 0 0 2.8rem rgba(255,255,255,.035), 0 0 0 5.6rem rgba(255,255,255,.025);
    pointer-events: none;
}
.blog-hero-inner { position: relative; z-index: 1; max-width: 920px; }
.blog-kicker { display: inline-block; color: #bfe7cb; font-size: .76rem; font-weight: 700; letter-spacing: .14em; }
.blog-hero h1 { margin: .85rem 0 .75rem; color: #fff; font-size: clamp(2.35rem, 5vw, 4rem); line-height: 1.08; letter-spacing: -.035em; }
.blog-hero p { max-width: 690px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.75; }
.blog-listagem { padding-top: clamp(3rem, 6vw, 5rem); padding-bottom: clamp(4rem, 7vw, 6rem); }
.blog-listagem-topo { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.blog-kicker-escuro { color: #408353; }
.blog-listagem-topo h2 { margin: .45rem 0 .3rem; color: #193b2b; font-size: clamp(1.65rem, 3vw, 2.2rem); letter-spacing: -.025em; }
.blog-listagem-topo p { margin: 0; color: #68756d; }
.blog-busca { display: flex; width: min(100%, 390px); gap: .55rem; }
.blog-busca input { flex: 1; min-width: 0; min-height: 46px; padding: .7rem .9rem; border: 1px solid #d7e0d8; border-radius: 10px; background: #fff; color: #24382b; font: inherit; }
.blog-busca input:focus, .blog-campo input:focus, .blog-campo textarea:focus, .blog-campo select:focus { outline: 3px solid rgba(0, 154, 82, .16); border-color: #4b9b64; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem; }
.blog-card { overflow: hidden; border: 1px solid #e0e7e0; border-radius: 16px; background: #fff; box-shadow: 0 8px 25px rgba(23, 59, 43, .055); transition: transform .2s ease, box-shadow .2s ease; }
.blog-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(23, 59, 43, .11); }
.blog-card-imagem { position: relative; display: block; overflow: hidden; aspect-ratio: 16/9; background: #e7f0e8; }
.blog-card-imagem img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.blog-card:hover .blog-card-imagem img { transform: scale(1.035); }
.blog-imagem-placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: radial-gradient(circle at 70% 20%, rgba(255,255,255,.38), transparent 28%), linear-gradient(135deg, #dcecdf, #a8cdb0); }
.blog-imagem-placeholder span { display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; color: #28583a; font-size: 1.5rem; font-weight: 800; }
.blog-categoria { position: absolute; left: 1rem; bottom: .9rem; padding: .4rem .65rem; border: 1px solid rgba(255,255,255,.45); border-radius: 999px; background: rgba(21,53,38,.86); color: #fff; font-size: .75rem; font-weight: 650; backdrop-filter: blur(8px); }
.blog-card-corpo { padding: 1.2rem 1.25rem 1.35rem; }
.blog-metadados { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; color: #6c7a70; font-size: .8rem; }
.blog-card h3 { margin: .7rem 0 .5rem; color: #1d3928; font-size: 1.2rem; line-height: 1.4; }
.blog-card h3 a { color: inherit; text-decoration: none; }
.blog-card h3 a:hover { color: #267142; }
.blog-card-corpo > p { display: -webkit-box; overflow: hidden; margin: 0; color: #5b6b60; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.blog-resumo { display: -webkit-box; overflow: hidden; color: #5b6b60; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.blog-resumo p { display: inline; margin: 0; }
.blog-leia-mais { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.15rem; color: #287341; font-weight: 700; text-decoration: none; }
.blog-leia-mais span { transition: transform .18s ease; }
.blog-leia-mais:hover span { transform: translateX(3px); }
.blog-vazio { max-width: 680px; margin: 2rem auto 0; padding: clamp(2rem, 6vw, 3.5rem); border: 1px solid #dce6dc; border-radius: 18px; background: #fff; text-align: center; box-shadow: 0 10px 30px rgba(23,59,43,.05); }
.blog-vazio-icone { display: grid; width: 54px; height: 54px; margin: 0 auto 1rem; place-items: center; border-radius: 16px; background: #e4f4e8; color: #2c7d45; font-size: 1.35rem; font-weight: 800; }
.blog-vazio h1, .blog-vazio h3 { margin: 0 0 .55rem; color: #193b2b; font-size: 1.55rem; }
.blog-vazio p { margin: 0 auto 1.25rem; max-width: 490px; color: #637168; line-height: 1.7; }
.blog-paginacao { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1rem; margin-top: 2.5rem; color: #59685e; }

.post-pagina { min-height: 60vh; padding-bottom: 4rem; background: #fff; }
.post-artigo { padding-top: 2.4rem; }
.post-cabecalho { max-width: 920px; margin: 0 auto; }
.post-voltar { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 2.4rem; color: #36794b; font-weight: 650; text-decoration: none; }
.post-cabecalho h1 { max-width: 850px; margin: .7rem 0 .85rem; color: #193b2b; font-size: clamp(2rem, 4.8vw, 3.55rem); line-height: 1.12; letter-spacing: -.035em; }
.post-resumo { max-width: 800px; margin: 0; color: #637168; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.7; }
.post-resumo p { margin: 0; }
.post-metadados { margin-top: 1.2rem; font-size: .88rem; }
.post-capa { max-width: 1080px; margin: 2.2rem auto 0; }
.post-capa img { display: block; width: 100%; max-height: 560px; object-fit: cover; border-radius: 20px; }
.post-conteudo { max-width: 760px; margin: 2.5rem auto 0; padding: 0 1.2rem; color: #34483a; font-size: 1.08rem; line-height: 1.9; }
.post-conteudo p { margin: 0 0 1.35rem; }
.post-rodape { display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 800px; margin: 3rem auto 0; padding-top: 1.4rem; border-top: 1px solid #e2e9e2; color: #68766d; }
.post-nao-encontrado { margin-top: 5rem; }

.blog-admin-painel, .blog-form-painel { padding: clamp(1rem, 3vw, 1.75rem); }
.blog-admin-cabecalho { align-items: center; gap: 1rem; }
.blog-admin-filtros { display: flex; flex-wrap: wrap; gap: .5rem; margin: .4rem 0 1.25rem; }
.blog-admin-filtros a { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .8rem; border: 1px solid #dbe4dc; border-radius: 999px; color: #58675d; font-size: .88rem; text-decoration: none; }
.blog-admin-filtros a span { color: #7a887e; font-size: .78rem; }
.blog-admin-filtros a.ativo { border-color: #2e7b47; background: #eaf5ec; color: #225c35; font-weight: 700; }
.blog-admin-lista { display: grid; gap: .75rem; }
.blog-admin-item { display: flex; align-items: center; justify-content: space-between; gap: 1.3rem; padding: 1rem 1.1rem; border: 1px solid #e0e7e0; border-radius: 13px; background: #fff; }
.blog-admin-item-info { min-width: 0; }
.blog-admin-item-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; color: #708075; font-size: .78rem; }
.blog-status { display: inline-flex; align-items: center; padding: .28rem .55rem; border-radius: 999px; font-size: .72rem; font-weight: 750; }
.blog-status-publicado { background: #e5f4e9; color: #26713e; }
.blog-status-rascunho { background: #fff2d9; color: #94620d; }
.blog-admin-item h3 { overflow-wrap: anywhere; margin: .55rem 0 .25rem; color: #20392a; font-size: 1.04rem; }
.blog-admin-item p { overflow-wrap: anywhere; margin: 0; color: #69766d; font-size: .82rem; }
.blog-admin-item code { color: #536b59; }
.blog-admin-item-acoes { display: flex; flex: 0 0 auto; align-items: center; gap: .45rem; }
.blog-admin-item-acoes form { margin: 0; }
.blog-admin-vazio { padding: 3rem 1rem; text-align: center; }
.blog-admin-vazio > span { display: inline-grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: #e6f3e8; color: #337b48; font-size: 1.25rem; }
.blog-admin-vazio h3 { margin: .9rem 0 .35rem; color: #203b2b; }
.blog-admin-vazio p { max-width: 520px; margin: 0 auto 1.2rem; color: #68756d; line-height: 1.6; }
.blog-form { margin-top: .5rem; }
.blog-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.blog-campo { display: grid; align-content: start; gap: .42rem; color: #314538; font-size: .9rem; font-weight: 650; }
.blog-campo b { color: #b6473b; }
.blog-campo-largo { grid-column: 1 / -1; }
.blog-campo input, .blog-campo textarea, .blog-campo select { width: 100%; min-width: 0; padding: .75rem .85rem; border: 1px solid #d5dfd6; border-radius: 9px; background: #fff; color: #26382b; font: inherit; font-weight: 400; }
.blog-campo textarea { resize: vertical; line-height: 1.65; }
.blog-campo .blog-editor-conteudo { min-height: 340px; }
.blog-campo small { color: #758178; font-size: .78rem; font-weight: 400; line-height: 1.5; }
.blog-editor { overflow: hidden; border: 1px solid #d5dfd6; border-radius: 11px; background: #fff; }
.blog-editor:focus-within { outline: 3px solid rgba(0,154,82,.13); border-color: #4b9b64; }
.blog-editor-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; padding: .55rem; border-bottom: 1px solid #e3e9e3; background: #f7faf7; }
.blog-editor-toolbar button, .blog-editor-toolbar select { min-height: 34px; padding: .35rem .55rem; border: 1px solid #dce5dd; border-radius: 7px; background: #fff; color: #32483a; font: inherit; font-size: .82rem; cursor: pointer; }
.blog-campo .blog-editor-toolbar select { width: auto; min-width: 90px; flex: 0 0 auto; }
.blog-campo .blog-editor-toolbar select[data-block] { min-width: 145px; }
.blog-editor-toolbar button:hover, .blog-editor-toolbar select:hover { border-color: #75a985; background: #f0f7f1; }
.blog-editor-toolbar button:focus-visible, .blog-editor-toolbar select:focus-visible { outline: 2px solid #3d8a54; outline-offset: 1px; }
.blog-editor-toolbar .blog-editor-cor { display: inline-flex; align-items: center; gap: .35rem; min-height: 34px; padding: .25rem .45rem; border: 1px solid #dce5dd; border-radius: 7px; background: #fff; color: #526257; font-size: .78rem; }
.blog-editor-cor input { width: 25px; height: 25px; min-height: 0; padding: 1px; border: 0; cursor: pointer; }
.blog-editor-area { min-height: 125px; padding: .9rem 1rem; color: #26382b; font-size: 1rem; font-weight: 400; line-height: 1.7; outline: 0; }
.blog-editor-area:empty::before { content: attr(data-placeholder); color: #98a39b; pointer-events: none; }
.blog-editor-area > :first-child { margin-top: 0; }
.blog-editor-area > :last-child { margin-bottom: 0; }
.blog-editor-area h2, .blog-editor-area h3 { color: #203b2b; line-height: 1.3; }
.blog-editor-area h2 { font-size: 1.6em; }
.blog-editor-area blockquote { margin: .8rem 0; padding: .65rem 1rem; border-left: 3px solid #4b9b64; background: #f4f8f4; color: #506257; }
.blog-editor-area a { color: #267142; text-decoration: underline; }
.blog-editor .blog-editor-conteudo { min-height: 380px; }
.blog-upload { display: grid; gap: .65rem; }
.blog-upload-drop { display: grid; min-height: 190px; justify-items: center; align-content: center; gap: .45rem; padding: 1.4rem; border: 2px dashed #bdcfc0; border-radius: 13px; background: #f8fbf8; color: #4c5e51; font: inherit; cursor: pointer; transition: border-color .18s, background .18s; }
.blog-upload-drop:hover, .blog-upload.arrastando .blog-upload-drop { border-color: #398653; background: #eef7f0; }
.blog-upload-icone { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #e3f2e6; color: #2d7a44; font-size: 1.35rem; font-weight: 800; }
.blog-upload-drop strong { color: #2b4433; }
.blog-upload-drop > span:not(.blog-upload-icone) { font-size: .85rem; }
.blog-upload-drop .blog-upload-limite { color: #87938a; font-size: .76rem; }
.blog-upload-preview { position: relative; overflow: hidden; max-width: 580px; border: 1px solid #dce5dd; border-radius: 12px; background: #f4f7f4; }
.blog-upload-preview img { display: block; width: 100%; max-height: 310px; object-fit: cover; }
.blog-upload-preview button { position: absolute; top: .65rem; right: .65rem; padding: .5rem .75rem; border: 1px solid rgba(255,255,255,.5); border-radius: 8px; background: rgba(35,48,39,.86); color: white; cursor: pointer; }
.blog-upload-progresso { min-height: 1.2rem; color: #4c6d54; font-size: .82rem; }
.blog-form-acoes { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #e4eae4; }

@media (max-width: 900px) {
    .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .blog-listagem-topo { align-items: stretch; flex-direction: column; }
    .blog-busca { width: 100%; }
    .post-cabecalho, .post-capa { width: min(100% - 2rem, 920px); }
}
@media (max-width: 640px) {
    .blog-grid { grid-template-columns: 1fr; }
    .blog-card-corpo { padding: 1.05rem; }
    .blog-hero { padding: 3.3rem 0; }
    .blog-hero h1 { font-size: 2.4rem; }
    .blog-busca { flex-direction: column; }
    .blog-busca .btn { width: 100%; }
    .post-artigo { padding-top: 1.4rem; }
    .post-voltar { margin-bottom: 1.6rem; }
    .post-capa img { border-radius: 13px; }
    .post-conteudo { margin-top: 1.7rem; font-size: 1rem; }
    .post-rodape { align-items: flex-start; flex-direction: column; }
    .blog-admin-item { align-items: stretch; flex-direction: column; }
    .blog-admin-item-acoes { flex-wrap: wrap; }
    .blog-admin-item-acoes > * { flex: 1 1 auto; }
    .blog-admin-item-acoes .btn { justify-content: center; width: 100%; }
    .blog-form-grid { grid-template-columns: 1fr; }
    .blog-campo-largo { grid-column: auto; }
    .blog-form-acoes { justify-content: stretch; }
    .blog-form-acoes .btn { flex: 1 1 100%; justify-content: center; }
}
/* Blog: leitura editorial e recomendacoes. */.post-pagina{background:#f4f7f3;padding-bottom:0}.post-artigo{padding:2.5rem 0 0}.post-cabecalho{max-width:980px;padding:clamp(1.35rem,4vw,3rem);border:1px solid #e1e9e1;border-radius:22px;background:#fff;box-shadow:0 16px 45px rgba(23,59,43,.06)}.post-etiqueta{margin:0 0 .8rem;color:#3c8150;font-size:.74rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.post-cabecalho h1{margin:.4rem 0 .9rem;color:#173c2b;font-size:clamp(2.1rem,4.6vw,3.5rem);line-height:1.08;letter-spacing:-.04em}.post-resumo{color:#56675d;font-size:clamp(1.05rem,1.7vw,1.22rem);line-height:1.7}.post-metadados{margin-top:1.3rem;padding-top:1rem;border-top:1px solid #edf1ed}.post-capa{margin-top:1.5rem}.post-capa img{max-height:500px;border:1px solid #dce5dd;border-radius:20px;box-shadow:0 15px 38px rgba(20,47,31,.1)}.post-conteudo{max-width:820px;margin:1.5rem auto 0;padding:clamp(1.35rem,4vw,3rem);border:1px solid #e2e9e2;border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(23,59,43,.045);font-size:1.06rem;line-height:1.78}.post-conteudo h2{margin:1.8rem 0 .65rem;color:#193b2b;font-size:1.5rem;line-height:1.3;letter-spacing:-.02em}.post-conteudo>:first-child{margin-top:0}.post-conteudo p{margin:0 0 1rem}.post-conteudo ul,.post-conteudo ol{margin:.25rem 0 1.2rem;padding-left:1.45rem}.post-conteudo li{margin:.4rem 0}.post-relacionados{margin-top:1rem;padding:3.5rem 0;border-top:1px solid #e1e9e1;background:#edf3ed}.post-relacionados-topo{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.post-relacionados-topo h2{margin:.45rem 0 .35rem;color:#193b2b;font-size:clamp(1.5rem,3vw,2rem)}.post-relacionados-topo p{margin:0;color:#657369;line-height:1.6}.post-relacionados-todos{color:#287341;font-weight:750;text-decoration:none}.post-relacionados-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}.post-relacionado-card{display:flex;min-height:220px;flex-direction:column;padding:1.25rem;border:1px solid #dce6dc;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(23,59,43,.045)}.post-relacionado-selo{color:#438354;font-size:.68rem;font-weight:800;letter-spacing:.11em}.post-relacionado-card h3{margin:.75rem 0 .55rem;color:#203b2b;font-size:1.15rem;line-height:1.35}.post-relacionado-card h3 a{color:inherit;text-decoration:none}.post-relacionado-card>p{margin:0 0 1rem;color:#66736a;font-size:.92rem;line-height:1.6}.post-relacionado-rodape{display:flex;justify-content:space-between;gap:.8rem;margin-top:auto;padding-top:.85rem;border-top:1px solid #edf1ed;color:#7a867d;font-size:.78rem}.post-relacionado-rodape a{color:#287341;font-weight:750;text-decoration:none}@media(max-width:640px){.post-artigo{padding-top:1rem}.post-cabecalho,.post-conteudo{width:calc(100% - 1.25rem);padding:1.25rem;border-radius:16px}.post-cabecalho h1{font-size:clamp(1.85rem,8vw,2.4rem)}.post-capa{width:calc(100% - 1.25rem);margin-top:.9rem}.post-capa img{border-radius:14px}.post-conteudo{margin-top:.9rem;font-size:1rem}.post-conteudo h2{margin-top:1.5rem}.post-relacionados-topo{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion: reduce) {
    .blog-card, .blog-card-imagem img, .blog-leia-mais span { transition: none; }
}
