/**
 * RMHC NZ — Gutenberg core/button block styles
 * Maps .wp-block-button.is-style-* > .wp-block-button__link using ACSS --btn-* tokens.
 * Primary = brand red (--primary). Brand green = --color-green (#32610a).
 */

.wp-block-button.is-style-primary,
.wp-block-button.is-style-brand-green,
.wp-block-button.is-style-primary-light,
.wp-block-button.is-style-primary-dark,
.wp-block-button.is-style-outline-green,
.wp-block-button.is-style-outline-primary,
.wp-block-button.is-style-base,
.editor-styles-wrapper .wp-block-button.is-style-primary,
.editor-styles-wrapper .wp-block-button.is-style-brand-green,
.editor-styles-wrapper .wp-block-button.is-style-primary-light,
.editor-styles-wrapper .wp-block-button.is-style-primary-dark,
.editor-styles-wrapper .wp-block-button.is-style-outline-green,
.editor-styles-wrapper .wp-block-button.is-style-outline-primary,
.editor-styles-wrapper .wp-block-button.is-style-base {
  /* theme maps set --btn-* below */
}

.wp-block-button.is-style-primary > .wp-block-button__link,
.wp-block-button.is-style-brand-green > .wp-block-button__link,
.wp-block-button.is-style-primary-light > .wp-block-button__link,
.wp-block-button.is-style-primary-dark > .wp-block-button__link,
.wp-block-button.is-style-outline-green > .wp-block-button__link,
.wp-block-button.is-style-outline-primary > .wp-block-button__link,
.wp-block-button.is-style-base > .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-primary > .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-brand-green > .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-primary-light > .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-primary-dark > .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-outline-green > .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-outline-primary > .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-base > .wp-block-button__link {
  box-sizing: border-box;
  background: var(--btn-background);
  color: var(--btn-text-color);
  padding-block: var(--btn-padding-block);
  padding-inline: var(--btn-padding-inline);
  inline-size: var(--btn-width, auto);
  min-inline-size: var(--btn-min-width);
  line-height: var(--btn-line-height);
  font-family: var(--btn-font-family);
  font-size: var(--btn-font-size, var(--text-m));
  font-weight: var(--btn-font-weight);
  font-style: var(--btn-font-style);
  text-transform: var(--btn-text-transform);
  letter-spacing: var(--btn-letter-spacing);
  text-decoration: var(--btn-text-decoration, none);
  border-width: var(--btn-border-width);
  border-style: var(--btn-border-style);
  border-radius: var(--btn-border-radius, var(--radius));
  border-color: var(--btn-border-color);
  transition: var(--btn-transition, var(--transition));
  justify-content: var(--btn-justify-content, center);
  align-items: var(--btn-align-items, center);
  text-align: var(--btn-text-align, center);
  display: var(--btn-display, inline-flex);
  box-shadow: none;
  cursor: pointer;
}

@media (hover: hover) and (pointer: fine) {
  .wp-block-button.is-style-primary > .wp-block-button__link:hover,
  .wp-block-button.is-style-brand-green > .wp-block-button__link:hover,
  .wp-block-button.is-style-primary-light > .wp-block-button__link:hover,
  .wp-block-button.is-style-primary-dark > .wp-block-button__link:hover,
  .wp-block-button.is-style-outline-green > .wp-block-button__link:hover,
  .wp-block-button.is-style-outline-primary > .wp-block-button__link:hover,
  .wp-block-button.is-style-base > .wp-block-button__link:hover,
  .editor-styles-wrapper .wp-block-button.is-style-primary > .wp-block-button__link:hover,
  .editor-styles-wrapper .wp-block-button.is-style-brand-green > .wp-block-button__link:hover,
  .editor-styles-wrapper .wp-block-button.is-style-primary-light > .wp-block-button__link:hover,
  .editor-styles-wrapper .wp-block-button.is-style-primary-dark > .wp-block-button__link:hover,
  .editor-styles-wrapper .wp-block-button.is-style-outline-green > .wp-block-button__link:hover,
  .editor-styles-wrapper .wp-block-button.is-style-outline-primary > .wp-block-button__link:hover,
  .editor-styles-wrapper .wp-block-button.is-style-base > .wp-block-button__link:hover {
    background: var(--btn-background-hover);
    color: var(--btn-text-color-hover);
    border-color: var(--btn-border-color-hover);
    text-decoration: var(--btn-text-decoration-hover, none);
  }
}

.wp-block-button.is-style-primary > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-brand-green > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-primary-light > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-primary-dark > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-outline-green > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-outline-primary > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-base > .wp-block-button__link:focus-visible,
.editor-styles-wrapper .wp-block-button.is-style-primary > .wp-block-button__link:focus-visible,
.editor-styles-wrapper .wp-block-button.is-style-brand-green > .wp-block-button__link:focus-visible,
.editor-styles-wrapper .wp-block-button.is-style-primary-light > .wp-block-button__link:focus-visible,
.editor-styles-wrapper .wp-block-button.is-style-primary-dark > .wp-block-button__link:focus-visible,
.editor-styles-wrapper .wp-block-button.is-style-outline-green > .wp-block-button__link:focus-visible,
.editor-styles-wrapper .wp-block-button.is-style-outline-primary > .wp-block-button__link:focus-visible,
.editor-styles-wrapper .wp-block-button.is-style-base > .wp-block-button__link:focus-visible {
  outline: 2px solid var(--focus-color, var(--primary-light));
  outline-offset: 2px;
}

/* Primary = brand red */
.wp-block-button.is-style-primary,
.editor-styles-wrapper .wp-block-button.is-style-primary {
  --btn-background: var(--primary);
  --btn-background-hover: var(--primary-hover);
  --btn-text-color: var(--primary-ultra-light);
  --btn-text-color-hover: var(--primary-ultra-light);
  --btn-border-color: var(--btn-background);
  --btn-border-color-hover: var(--btn-background-hover);
  --focus-color: var(--primary-light);
}

.wp-block-button.is-style-brand-green,
.editor-styles-wrapper .wp-block-button.is-style-brand-green {
  --btn-background: var(--color-green, #32610a);
  --btn-background-hover: var(--color-green-dark, #1f3d05);
  --btn-text-color: var(--white, #fff);
  --btn-text-color-hover: var(--white, #fff);
  --btn-border-color: var(--btn-background);
  --btn-border-color-hover: var(--btn-background-hover);
  --focus-color: var(--color-green-light, #5b9330);
}

.wp-block-button.is-style-primary-light,
.editor-styles-wrapper .wp-block-button.is-style-primary-light {
  --btn-background: var(--primary-ultra-light);
  --btn-background-hover: var(--primary-light);
  --btn-text-color: var(--primary);
  --btn-text-color-hover: var(--primary-ultra-dark);
  --btn-border-color: var(--btn-background);
  --btn-border-color-hover: var(--btn-background-hover);
  --focus-color: var(--primary-light);
}

.wp-block-button.is-style-primary-dark,
.editor-styles-wrapper .wp-block-button.is-style-primary-dark {
  --btn-background: var(--primary-dark);
  --btn-background-hover: var(--primary-ultra-dark);
  --btn-text-color: var(--primary-ultra-light);
  --btn-text-color-hover: var(--primary-ultra-light);
  --btn-border-color: var(--btn-background);
  --btn-border-color-hover: var(--btn-background-hover);
  --focus-color: var(--primary-semi-dark);
}

.wp-block-button.is-style-outline-green,
.editor-styles-wrapper .wp-block-button.is-style-outline-green {
  --btn-background: transparent;
  --btn-background-hover: var(--color-green, #32610a);
  --btn-text-color: var(--color-green, #32610a);
  --btn-text-color-hover: var(--white, #fff);
  --btn-border-width: 1.5px;
  --btn-border-color: var(--color-green, #32610a);
  --btn-border-color-hover: var(--color-green, #32610a);
  --focus-color: var(--color-green-light, #5b9330);
}

.wp-block-button.is-style-outline-primary,
.editor-styles-wrapper .wp-block-button.is-style-outline-primary {
  --btn-background: transparent;
  --btn-background-hover: var(--primary-hover);
  --btn-text-color: var(--primary);
  --btn-text-color-hover: var(--primary-ultra-light);
  --btn-border-width: 1.5px;
  --btn-border-color: var(--primary);
  --btn-border-color-hover: var(--btn-background-hover);
  --focus-color: var(--primary-light);
}

.wp-block-button.is-style-base,
.editor-styles-wrapper .wp-block-button.is-style-base {
  --btn-background: var(--base);
  --btn-background-hover: var(--base-hover, var(--base-light));
  --btn-text-color: var(--text-dark, var(--black));
  --btn-text-color-hover: var(--text-dark, var(--black));
  --btn-border-color: var(--btn-background);
  --btn-border-color-hover: var(--btn-background-hover);
  --focus-color: var(--base-semi-dark);
}
