/* Complemento do CMS — NÃO altera o layout: apenas faz a foto preencher a moldura já existente. */
.hero-image>img,.story-image>img,.portrait-placeholder>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* com foto: some o desenho de placeholder; sobra só um véu suave quando há texto sobre a imagem */
.has-img:before{display:none}
.hero-image.has-img:after{display:none}
.hero-image.has-img.has-label:after,.story-image.has-img.has-label:before{display:block;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.42),rgba(0,0,0,0) 55%)}
.portrait-placeholder.has-img.has-label{background:#d8d2c6}
.portrait-placeholder.has-img.has-label:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.45),rgba(0,0,0,0) 60%)}
.portrait-placeholder>span,.portrait-placeholder>strong{position:relative;z-index:2}
.hero-image>span,.hero-image>b,.story-image>span{z-index:2}

/* Faixa "Da Redação" — rotação / letreiro (o comportamento é ativado por js/app.js; sem JS a faixa continua estática como no original) */
.breaking-scroll{flex:1;min-width:0}
.breaking-scroll a{color:inherit;text-decoration:none}.breaking-scroll a:hover{text-decoration:underline}
.breaking-scroll.is-rotating>i,.breaking-scroll.is-rotating>span{display:none}
.breaking-scroll.is-rotating>span.is-current{display:block;animation:tk-in .5s ease both}
@keyframes tk-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.breaking-scroll.is-marquee{gap:0}
.ticker-track{display:flex;flex:none;align-items:center;gap:24px;padding-right:24px;animation:tk-run var(--ticker-dur,30s) linear infinite}
.ticker-track>*{flex:none}
@keyframes tk-run{to{transform:translateX(-100%)}}
.breaking-scroll.is-marquee:hover .ticker-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.ticker-track,.breaking-scroll.is-rotating>span.is-current{animation:none}}

/* Fotos em preto e branco, estilo jornal impresso */
.photo-bw{filter:grayscale(1) contrast(1.14) brightness(.98)}

/* Chamadas extras da coluna direita da capa (reaproveita fontes, cores e filetes do site) */
.rail-story{margin-top:18px;padding-top:18px;border-top:1px solid var(--ink)}
.rail-story .story-meta{margin-bottom:8px}
.rail-story h3{font:700 20px/1.12 var(--display);letter-spacing:-.015em;margin:0 0 8px}
.rail-story p{font:400 12px/1.5 var(--serif);margin:0 0 12px;color:#4c4944}

/* Subblocos de seção ("Mais em …"): cartões .card do próprio site em grade de 3 colunas */
.more-posts{margin-top:30px;border-top:1px solid var(--ink);padding-top:14px}
.more-head{margin-bottom:18px}
.more-grid{display:grid;grid-template-columns:repeat(3,1fr);row-gap:8px}
.more-grid .card{min-height:0;padding:0 22px;border-left:1px solid var(--ink);margin-bottom:14px}
.more-grid .card:nth-child(3n+1){border-left:0;padding-left:0}.more-grid .card:nth-child(3n){padding-right:0}
.more-grid .story-image{height:180px;margin-bottom:15px}
@media(max-width:1050px){.more-grid{grid-template-columns:repeat(2,1fr)}.more-grid .card,.more-grid .card:nth-child(3n),.more-grid .card:nth-child(3n+1){border-left:1px solid var(--ink);padding:0 22px}.more-grid .card:nth-child(odd){border-left:0;padding-left:0}.more-grid .card:nth-child(even){padding-right:0}}
