/* Frontend styles — overlay CTAs + mobile fit */
.lanp-final-ad-box{
  max-width:340px;margin:25px auto;border-radius:12px;overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,0.25);position:relative;cursor:pointer;
}
.lanp-ads-badge{
  position:absolute;top:12px;left:12px;background:#e60000;color:#fff;font-size:12px;font-weight:600;
  padding:5px 14px;border-radius:20px;box-shadow:0 0 12px rgba(230,0,0,0.6);animation:badgePulse 1.8s infinite;z-index:3;
}
.lanp-close{
  position:absolute;top:12px;right:12px;width:32px;height:32px;background:#000;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;
}
.lanp-close span{ color:#fff;font-size:20px;font-weight:bold;line-height:1; }
.lanp-final-ad-box img[data-role="ad-image"]{
  width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .4s;
}
.lanp-final-ad-box:hover img { transform:scale(1.08); }

/* CTA overlay */
.ad-cta-row{ display:flex;gap:8px;padding:10px 12px; }
.ad-cta-overlay{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  padding:10px 12px 12px 12px;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.35) 50%, rgba(0,0,0,0.55) 100%);
}
.ad-cta-row .cta{
  flex:1 1 0; min-width:0;
  display:flex; align-items:center; justify-content:center;
  gap:6px; color:#fff; font-size:13px; font-weight:700;
  padding:8px 10px; border-radius:20px;
  box-shadow:0 0 12px rgba(0,0,0,0.35);
  user-select:none; white-space:nowrap; text-align:center;
}
.ad-cta-row .cta-ico{ flex:0 0 auto; display:block }
.ad-cta-row .cta-txt{ line-height:1; display:inline-block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

@keyframes cartPulse { 0% { transform:scale(1); box-shadow:0 0 0 0 rgba(0,0,0,.7); } 70% { transform:scale(1.08); box-shadow:0 0 0 12px rgba(0,0,0,0); } 100% { transform:scale(1); box-shadow:0 0 0 0 rgba(0,0,0,0); } }
@keyframes badgePulse { 0% { transform:scale(1); box-shadow:0 0 0 0 rgba(230,0,0,.7); } 70% { transform:scale(1.1); box-shadow:0 0 0 10px rgba(230,0,0,0); } 100% { transform:scale(1); box-shadow:0 0 0 0 rgba(230,0,0,0); } }
.ctaPulse { animation: cartPulse 1.6s infinite; }

@media (max-width: 360px){ .ad-cta-row{ gap:6px; padding:8px 10px; } .ad-cta-row .cta{ padding:7px 8px; font-size:12px; } }
@media (max-width: 330px){ .ad-cta-row{ gap:4px; padding:7px 8px; } .ad-cta-row .cta{ padding:6px 7px; font-size:11px; } }
@media (max-width: 300px){ .ad-cta-row{ gap:3px; padding:6px 6px; } .ad-cta-row .cta{ padding:5px 6px; font-size:10px; } }
