/**
 * Checkable Buttons
 */
.checkable-button-group.-default {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  background: var(--checkable-button-group--background);
  color: var(--checkable-button-group--color);
  border-style: var(--checkable-button-group--border-style, var(--checkable-button-group--border-top-style, var(--border-top-style)) var(--checkable-button-group--border-right-style, var(--border-right-style)) var(--checkable-button-group--border-bottom-style, var(--border-bottom-style)) var(--checkable-button-group--border-left-style, var(--border-left-style)));
  border-width: var(--checkable-button-group--border-width, var(--checkable-button-group--border-top-width, var(--border-top-width)) var(--checkable-button-group--border-right-width, var(--border-right-width)) var(--checkable-button-group--border-bottom-width, var(--border-bottom-width)) var(--checkable-button-group--border-left-width, var(--border-left-width)));
  border-color: var(--checkable-button-group--border-color, var(--checkable-button-group--border-top-color, var(--border-top-color)) var(--checkable-button-group--border-right-color, var(--border-right-color)) var(--checkable-button-group--border-bottom-color, var(--border-bottom-color)) var(--checkable-button-group--border-left-color, var(--border-left-color)));
  border-radius: var(--checkable-button-group--border-radius, var(--checkable-button-group--border-top-left-radius, var(--border-top-left-radius)) var(--checkable-button-group--border-top-right-radius, var(--border-top-right-radius)) var(--checkable-button-group--border-bottom-right-radius, var(--border-bottom-right-radius)) var(--checkable-button-group--border-bottom-left-radius, var(--border-bottom-left-radius)));
  box-shadow: var(--checkable-button-group--box-shadow, var(--checkable-button-group--box-shadow-x-offset, var(--box-shadow-offset-x)) var(--checkable-button-group--box-shadow-y-offset, var(--box-shadow-offset-y)) var(--checkable-button-group--box-shadow-blur-radius, var(--box-shadow-blur-radius)) var(--checkable-button-group--box-shadow-spread-radius, var(--box-shadow-spread-radius)) var(--checkable-button-group--box-shadow-color, var(--box-shadow-color)));
  padding: var(--checkable-button-group--padding, var(--checkable-button-group--padding-top, var(--padding-top-1-2)) var(--checkable-button-group--padding-right, var(--padding-right-1-2)) var(--checkable-button-group--padding-bottom, var(--padding-bottom-1-2)) var(--checkable-button-group--padding-left, var(--padding-left-1-2)));
  transition-property: var(--checkable-button-group--transition-property, background-color, border-color);
  transition-duration: var(--checkable-button-group--transition-duration, var(--transition-duration));
  transition-timing-function: var(--checkable-button-group--transition-timing-function, var(--transition-timing-function));
}
.checkable-button-group.-default > .button {
  margin-right: var(--checkable-button-group--gap, var(--margin-right-1-2));
}
.checkable-button-group.-default > .button:not(:disabled):not(:hover):not(:focus):not(.-disabled).-active {
  background: var(--checkable-button-group--button--active--background, var(--button--background));
}
.checkable-button-group.-default > .button:not(.-active) {
  color: inherit;
  background: var(--checkable-button-group--button--background, transparent) !important;
  border-color: var(--checkable-button-group--button--border-color, transparent);
  box-shadow: var(--checkable-button-group--button--box-shadow, none);
}
.checkable-button-group.-default > .button:not(.-active):not(.-disabled):hover, .checkable-button-group.-default > .button:not(.-active):not(.-disabled):focus {
  border-top-color: var(--button--border-top-color);
  border-right-color: var(--button--border-top-color);
  border-bottom-color: var(--button--border-top-color);
  border-left-color: var(--button--border-top-color);
}
.checkable-button-group.-default > .button:last-child {
  margin-right: 0;
}

/**
 * Color variants
 */
.checkable-button-group.-light {
  --checkable-button-group--background: var(
      --checkable-button-group--light--background,
      var(--color-light-tint-100)
  );
  --checkable-button-group--color: var(
      --checkable-button-group--light--color,
      var(--contrast-text-color-light)
  );
  --checkable-button-group--border-top-color: var(
      --checkable-button-group--light--border-top-color,
      var(--color-light-shade-50)
  );
  --checkable-button-group--border-right-color: var(
      --checkable-button-group--light--border-right-color,
      var(--color-light-shade-50)
  );
  --checkable-button-group--border-bottom-color: var(
      --checkable-button-group--light--border-bottom-color,
      var(--color-light-shade-50)
  );
  --checkable-button-group--border-left-color: var(
      --checkable-button-group--light--border-left-color,
      var(--color-light-shade-50)
  );
}
.checkable-button-group.-dark {
  --checkable-button-group--background: var(
      --checkable-button-group--dark--background,
      var(--color-dark-shade-100)
  );
  --checkable-button-group--color: var(
      --checkable-button-group--dark--color,
      var(--contrast-text-color-dark)
  );
  --checkable-button-group--border-top-color: var(
      --checkable-button-group--dark--border-top-color,
      var(--color-dark-tint-50)
  );
  --checkable-button-group--border-right-color: var(
      --checkable-button-group--dark--border-right-color,
      var(--color-dark-tint-50)
  );
  --checkable-button-group--border-bottom-color: var(
      --checkable-button-group--dark--border-bottom-color,
      var(--color-dark-tint-50)
  );
  --checkable-button-group--border-left-color: var(
      --checkable-button-group--dark--border-left-color,
      var(--color-dark-tint-50)
  );
}

/**
 * Size variants
 */
.checkable-button-group.-sm {
  --checkable-button-group--border-top-left-radius: var(
      --checkable-button-group--sm--border-top-left-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-sm))
  );
  --checkable-button-group--border-top-right-radius: var(
      --checkable-button-group--sm--border-top-right-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-sm))
  );
  --checkable-button-group--border-bottom-right-radius: var(
      --checkable-button-group--sm--border-bottom-right-radius,
      calc(var(--border-bottom-right-radius) * var(--size-multiplier-sm))
  );
  --checkable-button-group--border-bottom-left-radius: var(
      --checkable-button-group--sm--border-bottom-left-radius,
      calc(var(--border-bottom-left-radius) * var(--size-multiplier-sm))
  );
  --checkable-button-group--padding-top: var(
      --checkable-button-group--sm--padding-top,
      calc(calc(var(--padding-top) * var(--size-multiplier-sm)) * 0.5)
  );
  --checkable-button-group--padding-right: var(
      --checkable-button-group--sm--padding-right,
      calc(calc(var(--padding-right) * var(--size-multiplier-sm)) * 0.5)
  );
  --checkable-button-group--padding-bottom: var(
      --checkable-button-group--sm--padding-bottom,
      calc(calc(var(--padding-bottom) * var(--size-multiplier-sm)) * 0.5)
  );
  --checkable-button-group--padding-left: var(
      --checkable-button-group--sm--padding-left,
      calc(calc(var(--padding-left) * var(--size-multiplier-sm)) * 0.5)
  );
}
.checkable-button-group.-md {
  --checkable-button-group--border-top-left-radius: var(
      --checkable-button-group--md--border-top-left-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-md))
  );
  --checkable-button-group--border-top-right-radius: var(
      --checkable-button-group--md--border-top-right-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-md))
  );
  --checkable-button-group--border-bottom-right-radius: var(
      --checkable-button-group--md--border-bottom-right-radius,
      calc(var(--border-bottom-right-radius) * var(--size-multiplier-md))
  );
  --checkable-button-group--border-bottom-left-radius: var(
      --checkable-button-group--md--border-bottom-left-radius,
      calc(var(--border-bottom-left-radius) * var(--size-multiplier-md))
  );
  --checkable-button-group--padding-top: var(
      --checkable-button-group--md--padding-top,
      calc(calc(var(--padding-top) * var(--size-multiplier-md)) * 0.5)
  );
  --checkable-button-group--padding-right: var(
      --checkable-button-group--md--padding-right,
      calc(calc(var(--padding-right) * var(--size-multiplier-md)) * 0.5)
  );
  --checkable-button-group--padding-bottom: var(
      --checkable-button-group--md--padding-bottom,
      calc(calc(var(--padding-bottom) * var(--size-multiplier-md)) * 0.5)
  );
  --checkable-button-group--padding-left: var(
      --checkable-button-group--md--padding-left,
      calc(calc(var(--padding-left) * var(--size-multiplier-md)) * 0.5)
  );
}
.checkable-button-group.-lg {
  --checkable-button-group--border-top-left-radius: var(
      --checkable-button-group--lg--border-top-left-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-lg))
  );
  --checkable-button-group--border-top-right-radius: var(
      --checkable-button-group--lg--border-top-right-radius,
      calc(var(--border-top-right-radius) * var(--size-multiplier-lg))
  );
  --checkable-button-group--border-bottom-right-radius: var(
      --checkable-button-group--lg--border-bottom-right-radius,
      calc(var(--border-bottom-right-radius) * var(--size-multiplier-lg))
  );
  --checkable-button-group--border-bottom-left-radius: var(
      --checkable-button-group--lg--border-bottom-left-radius,
      calc(var(--border-bottom-left-radius) * var(--size-multiplier-lg))
  );
  --checkable-button-group--padding-top: var(
      --checkable-button-group--lg--padding-top,
      calc(calc(var(--padding-top) * var(--size-multiplier-lg)) * 0.5)
  );
  --checkable-button-group--padding-right: var(
      --checkable-button-group--lg--padding-right,
      calc(calc(var(--padding-right) * var(--size-multiplier-lg)) * 0.5)
  );
  --checkable-button-group--padding-bottom: var(
      --checkable-button-group--lg--padding-bottom,
      calc(calc(var(--padding-bottom) * var(--size-multiplier-lg)) * 0.5)
  );
  --checkable-button-group--padding-left: var(
      --checkable-button-group--lg--padding-left,
      calc(calc(var(--padding-left) * var(--size-multiplier-lg)) * 0.5)
  );
}