/* buttons.css — unified button system
 * .sm-btn is the canonical class. Gutenberg .wp-block-button__link inherits all .sm-btn base styles
 * so theme-wide consistency is guaranteed whether authored in block editor or PHP patterns.
 */
.sm-btn,
.wp-block-button .wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:.375rem;
  padding:.625rem 1.25rem;
  border-radius:var(--sm-r);
  font-family:var(--sm-font-body);font-size:var(--sm-size-base);
  font-weight:500;line-height:1.2;white-space:nowrap;text-decoration:none;cursor:pointer;border:none;
  min-height:44px; /* WCAG 2.2 AA touch target */
  transition:background var(--sm-transition),transform var(--sm-transition),color var(--sm-transition),box-shadow var(--sm-transition)
}
.sm-btn--primary,
.wp-block-button:not(.is-style-outline):not(.is-style-dark):not(.is-style-ghost) .wp-block-button__link{
  background-color:var(--sm-green);color:var(--sm-paper)
}
.sm-btn--primary:hover,
.wp-block-button:not(.is-style-outline):not(.is-style-dark):not(.is-style-ghost) .wp-block-button__link:hover{
  background-color:var(--sm-green-dark);transform:translateY(-1px);color:var(--sm-paper);box-shadow:var(--sm-shadow-md)
}
.sm-btn--primary-lg{padding:.875rem 1.875rem;font-size:var(--sm-size-md);border-radius:var(--sm-r-lg)}
.sm-btn--dark,
.wp-block-button.is-style-dark .wp-block-button__link{background-color:var(--sm-forest);color:var(--sm-mint)}
.sm-btn--dark:hover,
.wp-block-button.is-style-dark .wp-block-button__link:hover{background-color:var(--sm-green-darker);color:var(--sm-mint)}
.sm-btn--outline,
.wp-block-button.is-style-outline .wp-block-button__link{background-color:transparent;color:var(--sm-ink);border:1px solid var(--sm-border-strong)}
.sm-btn--outline:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover{background-color:var(--sm-paper-2);color:var(--sm-ink)}
.sm-btn--ghost,
.wp-block-button.is-style-ghost .wp-block-button__link{background-color:transparent;color:var(--sm-ink-2);border:1px solid var(--sm-border-strong);font-size:var(--sm-size-sm);padding:.5rem 1rem}
.sm-btn--ghost:hover,
.wp-block-button.is-style-ghost .wp-block-button__link:hover{background-color:var(--sm-paper-2);color:var(--sm-ink)}
.sm-btn--danger{background-color:var(--sm-red-light);color:var(--sm-red);border:1px solid var(--sm-red-light-bd)}
.sm-btn--sm{padding:.375rem .875rem;font-size:var(--sm-size-sm);min-height:32px}
.sm-btn:disabled,.sm-btn[aria-disabled="true"],
.wp-block-button .wp-block-button__link:disabled,
.wp-block-button .wp-block-button__link[aria-disabled="true"]{opacity:.45;cursor:not-allowed;pointer-events:none}
.sm-btn:focus-visible,
.wp-block-button .wp-block-button__link:focus-visible{outline:2px solid var(--sm-green);outline-offset:2px;box-shadow:var(--sm-shadow-green)}
.sm-btn:active,
.wp-block-button .wp-block-button__link:active{transform:translateY(0)}

/* Mobile: allow multi-line button text if truncation would happen */
@media (max-width:640px){
  .sm-btn,.wp-block-button .wp-block-button__link{white-space:normal;text-align:center}
}
