--padding: #{$wrapper-min-margin-inline} * 2;
--max-width: #{$wrapper-max-width};
width: min(100% - var(--padding), var(--max-width));
margin-inline-start: auto;
display: var(--button-display, $button-display);
justify-content: var(--button-justify-content, $button-justify-content);
align-items: var(--button-align-items, $button-align-items);
gap: var(--button-gap, $button-gap);
padding: var(--button-padding, $button-padding);
background-color: var(--button-bg, $button-bg);
border-color: var(--button-border-color, $button-border-color);
border-radius: var(--button-border-radius, $button-border-radius);
border-style: var(--button-border-style, $button-border-style);
border-width: var(--button-border-width, $button-border-width);
box-shadow: var(--button-box-shadow, $button-box-shadow);
font-family: var(--button-font-family, $button-font-family);
font-weight: var(--button-font-weight, $button-font-weight);
font-size: var(--button-font-size, $button-font-size);
color: var(--button-color, $button-color);
text-decoration: $button-text-decoration;
text-transform: var(--button-text-transform, $button-text-transform);
letter-spacing: var(--button-letter-spacing, $button-letter-spacing);
line-height: var(--button-line-height, $button-line-height);
// https://www.tpgi.com/the-anatomy-of-visually-hidden/
@mixin visually-hidden-reset {
&:focus:not(:focus-visible) {
outline: 3px solid black;
box-shadow: 0 0 0 9px white;
outline: 3px solid black;
box-shadow: 0 0 0 9px white;