/* Shared frame for semantic controls and links presented as buttons. Keep
   backdrop hit areas transparent and leave keyboard focus to each surface. */
@layer daynull-button-borders {
  :root {
    --dn-control-frame-color: #606268;
  }

  html:root body :is(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    [role="button"],
    summary,
    a:is(
      [class*="button" i],
      [class*="__btn" i],
      .action,
      .service-action,
      .dn-action,
      .quick-action,
      .hero-action,
      .dn-final__store,
      .dn-commerce-topup,
      .dn-commerce-profile,
      .dn-commerce-ticket,
      .dn-bp-cabinet-tab,
      .dn-mobile-topup,
      .dn-header-topup,
      .dn-header-ticket-native,
      .dn-promo-storeHeaderSupport,
      .dn-promo-storeProfile,
      .dn-promo-storeMobileTicket,
      .site-header__ticket,
      [class*="__storeProfile"],
      [class*="__storeMobileSteam"],
      [class*="__storeMobileTicket"],
      [class*="__activeRule"],
      [class*="__previous"],
      [class*="__next"],
      [class*="__railHistory"],
      [class*="__headerReturn"]
    )
  ):not([class*="backdrop" i]):not([aria-hidden="true"]):not(:where([class*="__categorySidebarList"] > button, .dn-motion-stage-trigger, .dn-final__store)) {
    border: 1px solid var(--dn-control-frame-color) !important;
  }
  /* Category navigation keeps its selection marker, without button frames. */
  html:root body [class*="__categorySidebarList"] > button {
    border-color: transparent !important;
  }
  html:root body :is(.dn-motion-stage-trigger, .dn-final__store) {
    border: 0 !important;
  }
}
