.ipr-news-banner{margin:16px 0}
.ipr-news-banner .ipr-empty{opacity:.7;font-style:italic}
.ipr-news-banner.layout-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ipr-card{border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06);background:#fff}
.ipr-card a{color:inherit;text-decoration:none}
.ipr-card img{display:block;width:100%;height:160px;object-fit:cover}
.ipr-card .ipr-body{padding:12px}
.ipr-card .ipr-title{font-weight:700;line-height:1.2;margin:0 0 6px;font-size:1rem}

/* CTA configurable via CSS vars */
.ipr-cta{
  display:inline-block;
  background: var(--ipr-cta-bg, #b0472c);
  color: var(--ipr-cta-fg, #fff) !important;
  text-decoration:none !important;
  font-weight: var(--ipr-cta-fw, 700);
  font-size: var(--ipr-cta-fs, 16px);
  padding: var(--ipr-cta-py, 10px) var(--ipr-cta-px, 20px);
  border-radius: var(--ipr-cta-radius, 999px);
  transition: all .25s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.ipr-cta:hover{
  background: var(--ipr-cta-bg-hover, #8f3fff);
  color: var(--ipr-cta-fg-hover, #fff) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}

/* Carousel */
.ipr-carousel{position:relative;overflow:hidden;border-radius:16px}
.ipr-track{display:flex;transition:transform .5s ease;will-change:transform}
.ipr-slide{min-width:100%;position:relative}
.ipr-slide .ipr-img,.ipr-slide img{width:100%;height:var(--ipr-carousel-height);object-fit:cover;display:block}
.ipr-slide .ipr-caption{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0));color:#fff}
.ipr-slide .ipr-title{font-size:1.2rem;margin:0 0 6px;font-weight:800}
.ipr-slide .ipr-excerpt{margin:0 0 8px;opacity:.95}
.ipr-dots{display:flex;gap:6px;position:absolute;bottom:10px;right:12px}
.ipr-dot{width:10px;height:10px;border-radius:999px;background:#fff;opacity:.5;cursor:pointer;border:0}
.ipr-dot.active{opacity:1}
