.section-publicaciones{ padding-block:36px; }
.pub-header{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.pub-header__more{ text-decoration:none; }

.pub-tabs{ display:flex; gap:10px; border-bottom:1px solid rgba(0,0,0,.08); margin-bottom:16px; }
.pub-tabs__tab{ appearance:none; background:transparent; border:0; padding:10px 14px; cursor:pointer; border-bottom:2px solid transparent; font-weight:600; }
.pub-tabs__tab.is-active{ border-color:#7f164a; color:#7f164a; }
.pub-tabs__tab:focus{ outline:2px solid #7f164a; outline-offset:2px; }

.pub-panels{ position:relative; }
.pub-panel{ display:none; }
.pub-panel.is-active{ display:block; }
.pub-panel__head{ display:flex; justify-content:flex-end; margin-bottom:8px; }
.pub-panel__more{ text-decoration:none; }

.cards-grid{ display:grid; gap:16px; grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:1024px){ .cards-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .cards-grid{ grid-template-columns:1fr; } }

.pub-card{ background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:14px; box-shadow:0 6px 18px rgba(0,0,0,.05); overflow:hidden; display:flex; flex-direction:column; }
.pub-card__media{ display:block; aspect-ratio:16/9; background:#f2f2f2; overflow:hidden; }
.pub-card__media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.pub-card__media:hover img{ transform:scale(1.03); }
.pub-card__body{ padding:14px; display:flex; flex-direction:column; gap:8px; }
.pub-card__title{ margin:0; font-size:1.02rem; line-height:1.25; }
.pub-card__title-link{ text-decoration:none; }
.pub-card__title-link:hover{ text-decoration:underline; }
.pub-card__meta{ font-size:.9rem; color:#666; display:flex; gap:8px; align-items:center; }
.badge{ display:inline-block; font-size:.78rem; padding:2px 8px; border-radius:999px; background:#eee; }
.badge--alert{ background:#ffe8e6; color:#b32014; }
.pub-card__actions{ margin-top:4px; }
.btn{ display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.btn--primary{ background:#7f164a; color:#fff; border-radius:10px; padding:8px 12px; }
.btn--sm{ font-size:.92rem; }
.btn--primary:hover{ filter:brightness(.95); }
