/* Shared web buttons: compact rectangular shape, based on Longstay's portal variants.
   Repeated class specificity keeps component layout rules from overriding the theme. */
body .mhw-button.mhw-button {
  --button-bg:var(--mhw-green);
  --button-fg:var(--mhw-white);
  --button-border:var(--mhw-green);
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:var(--mhw-minimum-touch-target); padding:var(--mhw-button-padding-vertical) var(--mhw-button-padding-horizontal);
  border:var(--mhw-button-border-width) solid var(--button-border); border-radius:var(--mhw-radius-small);
  background:var(--button-bg); color:var(--button-fg);
  font-family:var(--mhw-font-family); font-size:var(--mhw-body-large-size);
  font-weight:var(--mhw-button-font-weight); line-height:var(--mhw-button-line-height); text-align:center; text-decoration:none;
  cursor:pointer; box-shadow:0 4px 12px color-mix(in srgb,var(--mhw-forest) 12%,transparent);
}
body .mhw-button.mhw-button--secondary {
  --button-bg:var(--mhw-surface); --button-fg:var(--mhw-forest);
  --button-border:var(--mhw-outline-variant); box-shadow:none;
}
body .mhw-button.mhw-button--accent {
  --button-bg:var(--mhw-yellow); --button-fg:var(--mhw-forest);
  --button-border:var(--mhw-yellow);
}
body .mhw-button.mhw-button--ghost {
  --button-bg:transparent; --button-fg:inherit; --button-border:transparent; box-shadow:none;
}
@media(hover:hover) {
  body .mhw-button.mhw-button:hover:not(:disabled):not([aria-disabled=true]) {
    background:color-mix(in srgb,var(--button-bg) 90%,var(--mhw-forest));
  }
  body .mhw-button.mhw-button--ghost:hover { background:color-mix(in srgb,currentColor 8%,transparent); }
}
body .mhw-button.mhw-button:focus-visible {
  outline:3px solid var(--mhw-yellow); outline-offset:3px;
  box-shadow:0 0 0 2px var(--mhw-forest);
}
body .mhw-button.mhw-button:is(:disabled,[aria-disabled=true]) {
  opacity:.55; box-shadow:none; cursor:not-allowed;
}
body .mhw-button.mhw-button:active:not(:disabled) { box-shadow:none; }
@media(prefers-reduced-motion:no-preference) {
  body .mhw-button.mhw-button { transition:background-color var(--mhw-motion-hover-duration),box-shadow var(--mhw-motion-hover-duration); }
}
