/* wem_adzones — CLS reservation + skeleton + device targeting */

.wm-ad[data-wem-adzone],
.wm-pdp-ad[data-wem-adzone] {
  position: relative;
  transition: min-height 0.28s ease, opacity 0.28s ease, margin 0.28s ease, padding 0.28s ease;
}

.wm-ad-zone-debug-label {
  display: block;
  padding: 0.25rem 0.5rem;
  border: 1px solid #b78a00;
  background: #fff4cc;
  color: #202020;
  font-size: 0.75rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.wm-ad[data-ad-kind="adsense"],
.wm-ad[data-ad-kind="adsense"] .wm-ad__card,
.wm-ad[data-ad-kind="adsense"] .wm-ad__network,
.wm-ad[data-ad-kind="adsense"] ins.adsbygoogle,
.wm-pdp-ad[data-ad-kind="adsense"],
.wm-pdp-ad[data-ad-kind="adsense"] .wm-pdp-ad__network,
.wm-pdp-ad[data-ad-kind="adsense"] ins.adsbygoogle {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.wm-ad--reserve-leaderboard {
  min-height: 6.5rem;
}
.wm-ad--reserve-rectangle,
.wm-pdp-ad.wm-ad--reserve-rectangle {
  min-height: 15.625rem; /* 250px */
}
.wm-ad--reserve-square {
  min-height: 15.625rem;
  max-width: 300px;
}
.wm-ad--reserve-mobile-banner {
  min-height: 3.125rem; /* 50px */
}
.wm-ad--reserve-responsive {
  min-height: 5.5rem;
}

.wm-ad__meta {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  min-width: 0;
}
.wm-ad__advertiser {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wm-ad__tools {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.wm-ad__info-panel {
  margin-top: 0.5rem;
  font-size: 0.625rem;
  color: var(--color-text-muted, #64748b);
}
.wm-ad__info-panel[hidden] {
  display: none !important;
}

.wm-ad__skeleton,
.wm-pdp-ad .wm-ad__skeleton {
  display: none;
  position: absolute;
  inset: 0.75rem 1rem;
  border-radius: 6px;
  background: linear-gradient(90deg, rgba(148,163,184,0.12) 0%, rgba(148,163,184,0.28) 50%, rgba(148,163,184,0.12) 100%);
  background-size: 200% 100%;
  animation: wem-ad-shimmer 1.2s ease-in-out infinite;
  pointer-events: none;
}
.wm-ad.is-loading .wm-ad__skeleton,
.wm-pdp-ad.is-loading .wm-ad__skeleton {
  display: block;
}
.wm-ad.is-ready .wm-ad__skeleton,
.wm-pdp-ad.is-ready .wm-ad__skeleton,
.wm-ad.is-collapsed .wm-ad__skeleton,
.wm-pdp-ad.is-collapsed .wm-ad__skeleton {
  display: none;
}

@keyframes wem-ad-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

.wm-ad.is-collapsed,
.wm-pdp-ad.is-collapsed {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  border: 0;
}

@media (max-width: 767px) {
  .wm-ad--desktop-only { display: none !important; }
}
@media (min-width: 768px) {
  .wm-ad--mobile-only { display: none !important; }
}

.wm-ad__network,
.wm-pdp-ad__network {
  min-height: inherit;
}