.m-button-store {
  --ic-size: var(--m-button-store-icon-size);
  --ic-color: var(--m-button-store-icon-color);
  align-items: center;
  background: var(--m-button-store-background);
  border: none;
  border-radius: var(--m-button-store-border-radius);
  box-shadow: inset 0 0 0 2px var(--color-button-store-basic-border);
  cursor: pointer;
  display: flex;
  justify-content: center;
  padding: var(--m-button-store-padding);
  text-decoration: none;
  transition: all .15s ease-in-out
}

.m-button-store .m-icon-container,
.m-button-store-content {
  min-height: var(--m-button-store-content-min-height)
}

.m-button-store-content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  min-width: var(--m-button-store-content-min-width);
  padding: var(--m-button-store-content-padding)
}

.m-button-store-description {
  color: var(--m-button-store-description-color);
  font: var(--m-button-store-description-font);
  font-variant-numeric: var(--font-variant-numeric)
}

.m-button-store-text {
  color: var(--m-button-store-text-color);
  font: var(--m-button-store-text-font);
  font-variant-numeric: var(--font-variant-numeric)
}

.m-button-store--m {
  --m-button-store-content-min-height: var(--button-store-content-height-m, 30px);
  --m-button-store-padding: var(--button-store-expand-m, 4px 12px);
  --m-button-store-icon-size: var(--button-store-icon-size-m, 20px);
  --m-button-store-border-radius: var(--button-store-border-radius-m, 8px);
  --m-button-store-content-padding: var(--button-store-text-container-expand-m, 0 8px);
  --m-button-store-content-min-width: var(--button-store-text-container-min-width-m, 104px);
  --m-button-store-text-font: var(--font-button-store-text-m);
  --m-button-store-description-font: var(--font-button-store-description-m)
}

.m-button-store--l {
  --m-button-store-content-min-height: var(--button-store-content-height-m, 30px);
  --m-button-store-padding: var(--button-store-expand-l, 4px 12px);
  --m-button-store-icon-size: var(--button-store-icon-size-l, 20px);
  --m-button-store-border-radius: var(--button-store-border-radius-l, 8px);
  --m-button-store-content-padding: var(--button-store-text-container-expand-l, 0 8px);
  --m-button-store-content-min-width: var(--button-store-text-container-min-width-l, 104px);
  --m-button-store-text-font: var(--font-button-store-text-l);
  --m-button-store-description-font: var(--font-button-store-description-l)
}

.m-button-store--basic {
  --m-button-store-background: var(--color-button-store-basic-background);
  --m-button-store-background-hover: var(--color-button-store-basic-background-hover);
  --m-button-store-background-pressed: var(--color-button-store-basic-background-active);
  --m-button-store-icon-color: var(--color-button-store-basic-icon);
  --m-button-store-icon-color-hover: var(--color-button-store-basic-icon-hover);
  --m-button-store-icon-color-pressed: var(--color-button-store-basic-icon-active);
  --m-button-store-border-color: var(--color-button-store-basic-border);
  --m-button-store-border-color-hover: var(--color-button-store-basic-border-hover);
  --m-button-store-border-color-pressed: var(--color-button-store-basic-border-active);
  --m-button-store-description-color: var(--color-button-store-basic-description);
  --m-button-store-description-color-hover: var(--color-button-store-basic-description-hover);
  --m-button-store-description-color-pressed: var(--color-button-store-basic-description-active);
  --m-button-store-text-color: var(--color-button-store-basic-text);
  --m-button-store-text-color-hover: var(--color-button-store-basic-text-hover);
  --m-button-store-text-color-pressed: var(--color-button-store-basic-text-active)
}

.m-button-store--inverse {
  --m-button-store-background: var(--color-button-store-inverse-background);
  --m-button-store-background-hover: var(--color-button-store-inverse-background-hover);
  --m-button-store-background-pressed: var(--color-button-store-inverse-background-active);
  --m-button-store-icon-color: var(--color-button-store-inverse-icon);
  --m-button-store-icon-color-hover: var(--color-button-store-inverse-icon-hover);
  --m-button-store-icon-color-pressed: var(--color-button-store-inverse-icon-active);
  --m-button-store-border-color: var(--color-button-store-inverse-border);
  --m-button-store-border-color-hover: var(--color-button-store-inverse-border-hover);
  --m-button-store-border-color-pressed: var(--color-button-store-inverse-border-active);
  --m-button-store-description-color: var(--color-button-store-inverse-description);
  --m-button-store-description-color-hover: var(--color-button-store-inverse-description-hover);
  --m-button-store-description-color-pressed: var(--color-button-store-inverse-description-active);
  --m-button-store-text-color: var(--color-button-store-inverse-text);
  --m-button-store-text-color-hover: var(--color-button-store-inverse-text-hover);
  --m-button-store-text-color-pressed: var(--color-button-store-inverse-text-active)
}

@media not (any-pointer:coarse) {

  .m-button-store:focus-visible,
  .m-button-store:hover {
    --m-button-store-background: var(--m-button-store-background-hover);
    --m-button-store-icon-color: var(--m-button-store-icon-color-hover);
    --m-button-store-border-color: var(--m-button-store-border-color-hover);
    --m-button-store-text-color: var(--m-button-store-text-color-hover);
    --m-button-store-description-color: var(--m-button-store-description-color-hover)
  }
}

.m-button-store:active {
  --m-button-store-background: var(--m-button-store-background-pressed);
  --m-button-store-icon-color: var(--m-button-store-icon-color-pressed);
  --m-button-store-border-color: var(--m-button-store-border-color-pressed);
  --m-button-store-text-color: var(--m-button-store-text-color-pressed);
  --m-button-store-description-color: var(--m-button-store-description-color-pressed)
}

.m-icon-container {
  align-items: center;
  background: var(--ic-background);
  border-radius: var(--ic-border-radius);
  box-shadow: inset 0 0 0 var(--ic-border-width) var(--ic-border-color);
  color: #919191;
  display: flex;
  justify-content: center;
  padding: var(--ic-padding);
  transition: color .15s ease-in-out
}

.m-icon-container img,
.m-icon-container svg {
  height: var(--ic-size);
  width: var(--ic-size)
}

.m-icon-empty {
  aspect-ratio: 1
}

.m-icon-loadable path {
  transition: opacity .2s ease-in-out
}

.m-icon-loadable[loading=true] path {
  opacity: 0
}