.arp-ad-wrapper {
  text-align: center;
  margin: 20px auto;
  clear: both;
  display: block;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

/* CLS prevention: reserve space before ad loads */
.arp-ad-wrapper[data-arp-slot] {
  min-height: 90px;
}

.arp-ad-label {
  font-size: .68rem;
  color: #bbb;
  text-align: center;
  letter-spacing: .5px;
  text-transform: uppercase;
  margin-bottom: 4px;
  display: block;
  width: 100%;
}

.arp-ad-wrapper ins.adsbygoogle {
  margin: 0 auto;
  display: block !important;
  max-width: 100%;
  overflow: hidden;
}

.arp-ctx-sidebar {
  max-width: 100%;
}

.arp-ctx-after_title {
  margin-top: 16px;
}

/* Loading shimmer while AJAX fetches the ad */
.arp-ad-wrapper.arp-loading::after {
  content: '';
  display: block;
  width: 100%;
  max-width: 728px;
  height: 90px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: arp-shimmer 1.4s infinite;
  border-radius: 6px;
}

@keyframes arp-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Mobile Full-Width Ads (Break out of padding container) */
@media (max-width: 768px) {
  .arp-ad-wrapper:not(.arp-ctx-sidebar) {
    width: auto !important;
    max-width: none !important;
    margin-left: -16px !important;
    margin-right: -16px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-radius: 0;
  }
}
