.cpf28-feed-panel{
  padding:0!important;
  overflow:hidden;
  background:#f0f2f5!important;
  border-color:#e1e6ee!important;
}

/* A lateral inteira acompanha a leitura; evita dois stickies concorrentes. */
.cp28-layout>.cp28-side{
  position:sticky;
  top:86px;
  align-self:start;
}

.cp28-layout>.cp28-side .cp28-sticky{
  position:static!important;
  top:auto!important;
}

.cpf28-feed-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:26px 28px 20px;
  background:linear-gradient(145deg,#fff 0%,#fbfcff 100%);
  border-bottom:1px solid #e3e8ef;
}

.cpf28-feed-heading h2{
  margin:4px 0 0;
  color:#172033;
  font-size:clamp(24px,3vw,32px);
  line-height:1.08;
  letter-spacing:-.035em;
}

.cpf28-feed-heading p{
  margin:8px 0 0;
  color:#667085;
  font-size:14px;
}

.cpf28-feed-total{
  flex:0 0 auto;
  padding:9px 12px;
  color:#475467;
  background:#f5f7fa;
  border:1px solid #e4e7ec;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}

.cpf28-feed-filters{
  position:sticky;
  top:0;
  z-index:4;
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:13px 18px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #e3e8ef;
  box-shadow:0 5px 14px rgba(15,23,42,.04);
  scrollbar-width:none;
  backdrop-filter:blur(14px);
}

.cpf28-feed-filters::-webkit-scrollbar{display:none}

.cpf28-feed-filters button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  min-height:38px;
  padding:0 13px;
  color:#475467;
  background:#f5f7fa;
  border:1px solid #e4e7ec;
  border-radius:999px;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}

.cpf28-feed-filters button span{
  display:grid;
  place-items:center;
  min-width:21px;
  height:21px;
  padding:0 5px;
  color:#667085;
  background:#fff;
  border-radius:999px;
  font-size:10px;
}

.cpf28-feed-filters button:hover,
.cpf28-feed-filters button.is-active{
  color:#fff;
  background:#172033;
  border-color:#172033;
  transform:translateY(-1px);
}

.cpf28-feed-filters button.is-active span{
  color:#172033;
}

.cpf28-stream{
  display:grid;
  gap:16px;
  max-width:690px;
  margin:0 auto;
  padding:20px;
}

.cpf28-post{
  overflow:hidden;
  color:#172033;
  background:#fff;
  border:1px solid #dfe4eb;
  border-radius:18px;
  box-shadow:0 3px 11px rgba(15,23,42,.055);
}

.cpf28-post[hidden]{display:none!important}

.cpf28-post-author{
  display:flex;
  align-items:center;
  gap:11px;
  padding:16px 18px 11px;
}

.cpf28-post-author>img{
  width:45px;
  height:45px;
  flex:0 0 auto;
  object-fit:cover;
  background:#eef2f6;
  border:1px solid #dde3ea;
  border-radius:50%;
}

.cpf28-post-author>div{
  display:grid;
  gap:4px;
  min-width:0;
}

.cpf28-post-author strong{
  overflow:hidden;
  color:#172033;
  font-size:14px;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cpf28-post-author div span{
  color:#7a8494;
  font-size:11px;
  line-height:1.2;
}

.cpf28-post-author div span b{
  font-weight:900;
}

.cpf28-post-author div span b.is-video{color:#e85d04}
.cpf28-post-author div span b.is-podcast{color:#7c3aed}
.cpf28-post-author div span b.is-materia{color:#1877f2}

.cpf28-post-mark{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  margin-left:auto;
  color:#fff;
  background:linear-gradient(135deg,#ff7a1a,#ff5600);
  border-radius:10px;
  font-size:13px;
  font-weight:1000;
}

.cpf28-post-copy{
  padding:3px 18px 15px;
}

.cpf28-post-copy h3{
  margin:0;
  font-size:20px;
  line-height:1.2;
  letter-spacing:-.02em;
}

.cpf28-post-copy h3 a{
  color:#172033;
  text-decoration:none;
}

.cpf28-post-copy h3 a:hover{color:#ff6500}

.cpf28-post-copy p{
  margin:9px 0 0;
  color:#475467;
  font-size:14px;
  line-height:1.58;
}

.cpf28-post-media{
  position:relative;
  display:block;
  overflow:hidden;
  width:100%;
  aspect-ratio:16/9;
  background:#111827;
  border-top:1px solid #e4e7ec;
  border-bottom:1px solid #e4e7ec;
}

.cpf28-post-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .45s ease,filter .25s ease;
}

.cpf28-post-media:hover img{
  transform:scale(1.025);
  filter:saturate(1.06);
}

.cpf28-post-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 60%,rgba(10,15,28,.48));
}

.cpf28-media-action{
  position:absolute;
  z-index:2;
  top:50%;
  left:50%;
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  padding-left:3px;
  color:#fff;
  background:rgba(15,23,42,.78);
  border:2px solid rgba(255,255,255,.86);
  border-radius:50%;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
  font-size:22px;
  transform:translate(-50%,-50%);
  backdrop-filter:blur(8px);
}

.cpf28-post-media.is-podcast .cpf28-media-action{
  padding-left:0;
  background:rgba(109,40,217,.84);
}

.cpf28-media-label{
  position:absolute;
  z-index:2;
  right:13px;
  bottom:12px;
  padding:7px 10px;
  color:#fff;
  background:rgba(15,23,42,.76);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}

.cpf28-post-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 18px;
  color:#7a8494;
  border-bottom:1px solid #eef1f4;
  font-size:11px;
}

.cpf28-post-meta span:first-child{
  overflow:hidden;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cpf28-post-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:7px 10px 10px;
}

.cpf28-post-actions a,
.cpf28-post-actions button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:39px;
  margin:0;
  padding:0 10px;
  color:#475467;
  background:transparent;
  border:0;
  border-radius:10px;
  font:inherit;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
  transition:.16s ease;
}

.cpf28-post-actions a:hover,
.cpf28-post-actions button:hover{
  color:#172033;
  background:#f2f4f7;
}

.cpf28-post-actions span{font-size:16px}

.cpf28-load{
  display:block;
  width:calc(100% - 40px);
  max-width:650px;
  min-height:46px;
  margin:0 auto 22px;
  color:#344054;
  background:#fff;
  border:1px solid #d7dde5;
  border-radius:13px;
  box-shadow:0 3px 10px rgba(15,23,42,.04);
  font:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

.cpf28-load:hover{border-color:#ff7a1a;color:#d94f00}
.cpf28-load[hidden]{display:none!important}

.cpf28-filter-empty{
  max-width:650px;
  margin:0 auto 22px;
  padding:25px;
  color:#667085;
  background:#fff;
  border:1px dashed #cfd6df;
  border-radius:16px;
  text-align:center;
}

.cpf28-filter-empty[hidden]{display:none!important}

@media(max-width:980px){
  .cp28-layout>.cp28-side{position:static}
}

@media(max-width:720px){
  .cpf28-feed-heading{align-items:flex-start;flex-direction:column;padding:22px 18px 17px}
  .cpf28-feed-total{display:none}
  .cpf28-feed-filters{padding:11px 12px}
  .cpf28-stream{gap:12px;padding:12px 0}
  .cpf28-post{border-right:0;border-left:0;border-radius:0;box-shadow:none}
  .cpf28-post-author{padding-right:14px;padding-left:14px}
  .cpf28-post-copy{padding-right:14px;padding-left:14px}
  .cpf28-post-copy h3{font-size:18px}
  .cpf28-post-copy p{font-size:13px}
  .cpf28-post-meta{padding-right:14px;padding-left:14px}
  .cpf28-media-action{width:54px;height:54px;font-size:19px}
  .cpf28-load{width:calc(100% - 24px);margin-bottom:14px}
}
