.site-ad-slot{margin:1.25rem 0}
.site-ad{display:block;overflow:hidden;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.06);transition:transform .18s ease,box-shadow .18s ease}
.site-ad:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(15,23,42,.1)}
.site-ad img{display:block;width:100%;height:auto}
.site-ad-sidebar{border-radius:16px}
.site-ad-sidebar img{aspect-ratio:1.2 / 1;object-fit:cover}
.site-ad-banner img{max-height:220px;width:100%;object-fit:cover}

.site-ad-placeholder{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.45rem;
  min-height:132px;padding:1.35rem 1.5rem;border-radius:18px;text-decoration:none;
  border:1px dashed rgba(37,99,235,.35);
  background:
    linear-gradient(135deg,rgba(37,99,235,.08),rgba(14,165,233,.06)),
    repeating-linear-gradient(-45deg,rgba(148,163,184,.08) 0 10px,transparent 10px 20px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.site-ad-placeholder:hover{
  transform:translateY(-2px);
  border-color:rgba(37,99,235,.55);
  box-shadow:0 16px 36px rgba(37,99,235,.12);
}
.site-ad-placeholder-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#2563eb}
.site-ad-placeholder-title{font-size:1.05rem;font-weight:800;color:#0f172a;letter-spacing:-.02em}
.site-ad-placeholder-size{font-size:12px;color:#64748b}
.site-ad-placeholder-cta{margin-top:.35rem;font-size:13px;font-weight:700;color:#1d4ed8}
.site-ad-placeholder-sidebar{min-height:220px;aspect-ratio:1.15 / 1;justify-content:center}
.site-ad-placeholder-banner{min-height:120px}

@media (max-width:640px){
  .site-ad{border-radius:14px}
  .site-ad-banner img{max-height:140px}
  .site-ad-placeholder{border-radius:14px;min-height:110px;padding:1.1rem}
}
