/* Advertising layout shared by every site; product IDs never select a style. */
[data-mobile-ad-slot]:empty { display: none; }
@media (min-width: 851px) {
  [data-mobile-ad-slot], .sp-ad-viewport { display: none !important; }
  #affiliate-sidebar-container .ad-creative-sp { display: none !important; }
  #affiliate-sidebar-container .ad-creative-pc { display: block; }
}
@media (max-width: 850px) {
  #affiliate-sidebar-container { display: none !important; }
  [data-mobile-ad-slot]:not(:empty) { display: block; width: 100%; min-width: 0; }
  [data-shared-affiliate] { display: block; box-sizing: border-box; width: 100%; margin: 1px 0; padding-inline: 4px; }
  [data-shared-affiliate] .sp-ad-card { display: grid; position: relative; box-sizing: border-box; width: 100%; min-width: 0; padding: 1.45rem 6px 6px; border: 1px solid rgba(244,114,182,.18); border-radius: 12px; background: rgba(255,255,255,.55); }
  [data-shared-affiliate] .sp-ad-card > .pr-label { position: absolute; top: 5px; right: 6px; font-size: .58rem; }
  [data-shared-affiliate] .sp-ad-card > .ad-product-unit[data-ad-id] { display: flex; flex-direction: column; align-items: stretch; width: 100%; min-width: 0; max-width: 100%; --sp-text-max-width: 100%; }
  [data-shared-affiliate] .sp-ad-card .ad-product-unit[data-ad-id] .ad-image-slot a { display: block; box-sizing: border-box; width: 100% !important; max-width: 100% !important; font-size: .78rem; line-height: 1.45; white-space: normal !important; overflow-wrap: anywhere !important; word-break: normal; }
  [data-shared-affiliate] img { max-width: 100%; height: auto; }
}
