/* Only existing heading marks are restyled; content:none remains untouched. */
:is(
  .pp-page main .pp-kicker,
  .pp-page .pp-card > h3,
  .site-section-label,
  .home-pass .ht-head .ht-kicker,
  .home-trust .ht-head .ht-kicker,
  .home-latest .hl-head .hl-kicker,
  .home-blocks .sectionHead .kicker,
  .home-blocks .htn-kicker,
  #pk-trust-preview .pk-heading .pk-eyebrow,
  #pk-scene-bento .sb-header > span,
  #pk-portfolio > header .eyebrow,
  #pk-portfolio .region-heading .eyebrow,
  #compare .comparison-eyebrow
):not(:where(.hero, .hero *, .hero-lite, .hero-lite *, .pp-head, .pp-head *, [data-preserved-banner]))::before {
  display: inline-block !important;
  box-sizing: border-box !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 2px !important;
  min-height: 2px !important;
  max-height: 2px !important;
  padding: 0 !important;
  border: 0 !important;
  /* Square, solid rectangles avoid rounded-edge antialiasing at fractional positions. */
  border-radius: 0 !important;
  background: #1e40af !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  mask: none !important;
  align-self: center !important;
}
.pp-page .pp-card > h3:not(:where(.hero, .hero *, .hero-lite, .hero-lite *, .pp-head, .pp-head *, [data-preserved-banner]))::before {
  margin-inline-end: 8px !important;
  vertical-align: middle;
}

/* Distinct accents for the Mastercard banner's three payment scenarios. */
.mc-intro-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.mc-intro-card { position: relative; padding: 22px; border: 1px solid #dce5f5; border-radius: 12px; background: #f7faff; }
.shell .main-col .mc-intro-card h3 { margin: 0 44px 10px 0; font-size: 18px; color: #17294d; }
.shell .main-col .mc-intro-card h3::before { content: none !important; display: none !important; }
.shell .main-col .mc-intro-card p { margin: 0; color: #475569; font-size: 14px; line-height: 1.85; }
.mc-intro-number { position: absolute; top: 20px; right: 22px; font-size: 22px; font-weight: 700; color: #93b4e8; }
@media (max-width: 640px) { .mc-intro-grid { grid-template-columns: minmax(0, 1fr); } .mc-intro-card { padding: 18px; } }

.products-page .hero h1 .mc-hero-paypal { color: #8ac8ff !important; }
.products-page .hero h1 .mc-hero-streaming { color: #ffd166 !important; }
.products-page .hero h1 .mc-hero-europe { color: #c4b5fd !important; }

.shell .main-col .mc-pricing-card:has(> h2#s4) table { table-layout: fixed; width: 100%; min-width: 600px; font-size: 14px; }
.shell .main-col .mc-pricing-card:has(> h2#s4) th { width: 33.333%; }
.shell .main-col .mc-pricing-card:has(> h2#s4) :is(th, td) { padding: 14px 20px; white-space: normal; overflow-wrap: anywhere; vertical-align: middle; }
.shell .main-col .mc-pricing-card:has(> h2#s4) :is(th, td):nth-child(2) { text-align: center; }
.shell .main-col .mc-pricing-card:has(> h2#s4) td:first-child { font-weight: 600; }

/* Bottom action labels retain their text without the section-heading mark. */
.shell .main-col .pp-cta :is(.site-section-label, .pp-kicker):not(:where(.hero, .hero *, .hero-lite, .hero-lite *, .pp-head, .pp-head *, [data-preserved-banner]))::before,
.cta-box :is(.site-section-label, .pp-kicker)::before {
  content: none !important;
  display: none !important;
}
