.wp-block-button__link { // Extend button style @include button-style(); } /** * Block Options */ // The parent container does not need outer margins applied. // The children should all have top and bottom margins. [data-block].wp-block-buttons { margin-top: 0; margin-bottom: 0; .wp-block-button:first-child { margin-top: var(--global--spacing-vertical); } .wp-block-button:last-child { margin-bottom: var(--global--spacing-vertical); } } .wp-block-button { // Target the default and filled button states. &:not(.is-style-outline) { .wp-block-button__link:not(:hover):not(:active) { // Text colors &:not(.has-text-color) { color: var(--global--color-background); // Nested .has-background & { color: var(--local--color-background, var(--global--color-background)); &.has-background { color: var(--global--color-primary); } } } // Background-colors &:not(.has-background) { background-color: var(--global--color-primary); // Nested .has-background & { background-color: var(--local--color-primary, var(--global--color-primary)); } } } // Hover Button color should match parent element foreground color .wp-block-button__link:hover, .wp-block-button__link:active { border-color: currentColor !important; background-color: transparent !important; color: inherit !important; } // Remove :focus styles in the editor .wp-block-button__link:focus { outline-offset: inherit; outline: inherit; } } // Outline Style. &.is-style-outline { .wp-block-button__link:not(:hover):not(:active) { // Border colors &:not(.has-text-color), &:not(.has-background), &.has-background { border-color: currentColor; } // Text colors &:not(.has-text-color) { color: var(--global--color-primary); // Nested .has-background & { color: var(--local--color-primary, var(--global--color-primary)); } } &.has-background { // Nested .has-background &:not(.has-text-color) { color: inherit; } } // Background-colors &:not(.has-background) { background-color: transparent; } } // Hover Button color should match default button style .wp-block-button__link:hover, .wp-block-button__link:active { background-color: var(--global--color-primary) !important; border-color: transparent !important; color: var(--global--color-background) !important; .has-background & { background-color: var(--local--color-primary, var(--global--color-primary)) !important; color: var(--local--color-background, var(--global--color-background)) !important; } .has-text-color & { color: var(--local--color-background, var(--global--color-background)) !important; } } // Remove :focus styles in the editor .wp-block-button__link:focus { outline-offset: inherit; outline: inherit; } } // Squared Style &.is-style-squared { border-radius: 0; } } .is-style-outline .wp-block-button__link[style*="radius"], .wp-block-button__link[style*="radius"] { outline-offset: 2px; }