/* Affiliate creatives: keep sponsored banners after the article and centered.
   This stylesheet deliberately affects only links to supplied affiliate networks. */
main a[href*="px.a8.net"]:has(img),
main a[href*="af.moshimo.com/af/c/click"]:has(img) {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 28px auto 0;
}

main a[href*="px.a8.net"] > img:not([width="1"]),
main a[href*="af.moshimo.com/af/c/click"] > img:not([width="1"]) {
  display: block;
  width: auto;
  max-width: min(100%, 360px);
  height: auto !important;
  border: 0 !important;
}

main img[src*="a8.net/0.gif"][width="1"],
main img[src*="i.moshimo.com"][width="1"] {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 640px) {
  main a[href*="px.a8.net"]:has(img),
  main a[href*="af.moshimo.com/af/c/click"]:has(img) {
    width: 100%;
    margin-top: 24px;
  }
}
.affiliate-placement {
  margin-top: 32px;
  text-align: center;
}

.affiliate-placement .affiliate-label {
  display: table;
  margin: 0 auto 24px;
}

.affiliate-placement .affiliate-banner,
.affiliate-placement .affiliate-banners,
.affiliate-placement .ad-banner,
.affiliate-placement .ad-creative,
.affiliate-placement .affiliate-card {
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto;
}

/* An ad-card can contain tracking pixels and legacy wrappers. Keep it vertical. */
.affiliate-placement .ad-card {
  display: block !important;
  width: min(100%, 420px);
  margin: 0 auto;
  text-align: center;
}

.affiliate-placement.affiliate-banner,
.affiliate-placement.affiliate-banners,
.affiliate-placement.ad-banner,
.affiliate-placement.ad-card,
.affiliate-placement.ad-creative,
.affiliate-placement.affiliate-card {
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto;
}

.affiliate-placement a > img {
  display: block;
  max-width: 100%;
  height: auto;
}

.affiliate-placement .affiliate-pixel,
.affiliate-placement .ad-pixel {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.affiliate-placement + .affiliate-disclosure {
  margin-top: 16px;
}

.source-note {
  margin: 16px 0 0;
  color: #6b7c86;
  font-size: 12px;
  line-height: 1.8;
}

/* Unified affiliate sequence: PR -> banner -> official-site link. */
.affiliate-unified-presentation {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.affiliate-pr-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: #e6f9fc;
  color: #007c91;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.affiliate-unified-presentation > .affiliate-banner,
.affiliate-unified-presentation > .affiliate-banners,
.affiliate-unified-presentation > .ad-banner,
.affiliate-unified-presentation > .ad-card,
.affiliate-unified-presentation > .affiliate-card,
.affiliate-unified-presentation > .ad-creative,
.affiliate-unified-presentation > a[href*="px.a8.net"],
.affiliate-unified-presentation > a[href*="af.moshimo.com/af/c/click"] {
  margin: 0 !important;
}

/* Local page styles often give banner anchors their own top margin.
   Inside the unified PR block the gap is controlled only by the component. */
.affiliate-unified-presentation a[href*="px.a8.net"]:has(img),
.affiliate-unified-presentation a[href*="af.moshimo.com/af/c/click"]:has(img) {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 !important;
}

.affiliate-unified-presentation .affiliate-link,
.affiliate-unified-presentation .affiliate-generated-link {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0;
}

.affiliate-official-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  max-width: 100%;
  padding: 12px 28px;
  border-radius: 14px;
  background: #00899d;
  color: #fff !important;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  text-decoration: none !important;
}

.affiliate-official-button:hover,
.affiliate-official-button:focus-visible {
  background: #007587;
  color: #fff !important;
}

.affiliate-legacy-information-note {
  display: none !important;
}

.affiliate-legacy-pr,
.affiliate-legacy-heading {
  display: none !important;
}

.affiliate-site-disclosure {
  margin-top: 0 !important;
}

/* Shared basic-information table for every brand introduction page. */
/* Apply without JavaScript as well: local file previews may not execute the
   placement script, but the basic-information table must still be readable. */
.has-unified-affiliate-block .table,
main > .box > .table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  overflow: hidden;
  border: 1px solid #e6edf3;
  border-radius: 10px;
  background: #fff;
}

.has-unified-affiliate-block .table th,
.has-unified-affiliate-block .table td,
main > .box > .table th,
main > .box > .table td {
  padding: 12px 14px;
  border-bottom: 1px solid #e6edf3;
  text-align: left;
  vertical-align: middle;
  font-size: 14px;
  line-height: 1.5;
}

.has-unified-affiliate-block .table th,
main > .box > .table th {
  width: 30%;
  background: #f5f8fb;
  color: #334e5c;
  font-weight: 700;
}

.has-unified-affiliate-block .table td,
main > .box > .table td {
  color: #1f2933;
}

.has-unified-affiliate-block .table tr:last-child th,
.has-unified-affiliate-block .table tr:last-child td,
main > .box > .table tr:last-child th,
main > .box > .table tr:last-child td {
  border-bottom: 0;
}

/* Brand introduction pages use only the six requested blocks. */
.has-unified-affiliate-block > .brand-layout-extra {
  display: none !important;
}

@media (max-width: 760px) {
  .affiliate-unified-presentation {
    gap: 14px;
  }

  .affiliate-official-button {
    width: min(100%, 320px);
    min-height: 48px;
    padding-inline: 20px;
  }

  .has-unified-affiliate-block .table th,
  .has-unified-affiliate-block .table td,
  main > .box > .table th,
  main > .box > .table td {
    padding: 10px 12px;
    font-size: 13px;
  }
}
