/* Full-width banner that breaks out of typical theme containers */
.ipr-cp-banner{
  position:relative;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  width:100vw;
  background: linear-gradient(120deg, var(--iprGrad1), var(--iprGrad2));
  color: var(--iprText);
  border:1px solid var(--iprBorder);
  overflow:hidden;
}
.ipr-cp-banner[style*="background-image"]{ background-size:cover; background-position:center; }
.ipr-cp-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(120deg, rgba(0,0,0,var(--iprOverlay)), rgba(0,0,0,calc(var(--iprOverlay) * 0.75)));
  pointer-events:none;
}
.ipr-cp-inner{
  position:relative;
  z-index:1;
  display:flex;
  gap:22px;
  align-items:center;
  justify-content:space-between;
  padding:22px 22px;
  max-width:1200px;
  margin:0 auto;
}
.ipr-cp-banner.height-compacto .ipr-cp-inner{ padding:16px 18px; }
.ipr-cp-banner.height-hero .ipr-cp-inner{ padding:34px 22px; }

.ipr-cp-logo{flex:0 0 auto;}
.ipr-cp-logo img{width:86px; height:86px; object-fit:contain; filter: drop-shadow(0 8px 18px rgba(0,0,0,0.25));}

.ipr-cp-content{flex:1 1 auto; min-width:220px;}
.ipr-cp-badge{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.28);
  background:rgba(255,255,255,0.10);
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.ipr-cp-title{margin:0 0 8px 0; font-size:24px; line-height:1.1;}
.ipr-cp-text{color:var(--iprMuted); font-size:15px; line-height:1.5;}
.ipr-cp-text p{margin:0}

.ipr-cp-mini{list-style:none; padding:10px 0 0 0; margin:0; display:flex; flex-wrap:wrap; gap:10px 14px; color:var(--iprMuted); font-size:13px;}
.ipr-cp-mini li{display:inline-flex; gap:8px; align-items:center}
.ipr-cp-dot{width:10px; height:10px; border-radius:3px; background:rgba(255,255,255,0.28); border:1px solid rgba(255,255,255,0.18)}

.ipr-cp-cta{flex:0 0 auto;}
.ipr-cp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:14px;
  text-decoration:none;
  font-weight:700;
  background: var(--iprBtnBg);
  color: var(--iprBtnText);
  border:1px solid var(--iprBtnBorder);
  box-shadow:0 12px 26px rgba(0,0,0,0.22);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  min-width:190px;
  text-align:center;
}
.ipr-cp-btn:hover{transform: translateY(-1px); filter:brightness(1.02); box-shadow:0 14px 30px rgba(0,0,0,0.26)}

.ipr-cp-banner.is-animated .ipr-cp-btn{animation: iprPulse 7s ease-in-out infinite;}
@keyframes iprPulse{
  0%, 70%, 100%{ transform: translateY(0); }
  72%{ transform: translateY(-1px) scale(1.01); }
  75%{ transform: translateY(0) scale(1); }
}

/* Styles variations */
.ipr-cp-banner.style-minimal{ border:none; }
.ipr-cp-banner.style-minimal .ipr-cp-badge{background:rgba(255,255,255,0.08)}
.ipr-cp-banner.style-firme .ipr-cp-title{font-size:26px}

.ipr-cp-banner.align-center .ipr-cp-inner{ text-align:center; justify-content:center; }
.ipr-cp-banner.align-center .ipr-cp-content{ max-width:780px; }
.ipr-cp-banner.align-center .ipr-cp-mini{ justify-content:center; }

/* Responsive */
@media (max-width: 860px){
  .ipr-cp-inner{flex-direction:column; align-items:stretch; text-align:left;}
  .ipr-cp-logo{display:flex; justify-content:center;}
  .ipr-cp-cta{display:flex; justify-content:center;}
  .ipr-cp-btn{width:100%; max-width:420px;}
  .ipr-cp-banner.align-center .ipr-cp-inner{ text-align:center; }
}
