/* colors */
.u-text-muted{ color: var(--c-muted) !important; }
.u-text-primary{ color: var(--c-primary) !important; }
.u-bg-primary{ background: var(--c-primary) !important; color: var(--c-on-primary) !important; }

/* radius */
.r-sm{ border-radius: var(--r-sm) !important; }
.r-md{ border-radius: var(--r-md) !important; }
.r-lg{ border-radius: var(--r-lg) !important; }

/* typography */
.u-body-big{ font-size: var(--body-big) !important; }
.u-body-small{ font-size: var(--body-small) !important; }

/* a11y */
.u-visually-hidden{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

/* Base button */
.elementor .elementor-button,
button,
input[type="button"],
input[type="submit"],
a.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-radius: var(--btn-radius);
  padding: var(--btn-py) var(--btn-px);
  border: 1px solid transparent;
  box-shadow: var(--btn-shadow);
  transition: transform .15s ease, filter .15s ease, background-color .15s ease;
  text-transform: uppercase;
}

/* Hover */
.elementor .elementor-button:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
a.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background: var(--btn-bg-hover);
  transform: translateY(-1px);
  color: var(--btn-fg);
}

/* Focus (keyboard) */
.elementor .elementor-button:focus-visible,
button:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible,
a.button:focus-visible{
  outline: 2px solid color-mix(in srgb, var(--btn-bg) 60%, #fff);
  outline-offset: 3px;
}
