@use "sass:math";
@use "a11y";
@use "clearfix";

@function px-to-rem($pxValue) {
	@return #{$pxValue * 0.0625}rem;
}

@function px-to-em($pxValue) {
	@return #{$pxValue * 0.0625}em;
}

@mixin cursor-pointer() {
	cursor: pointer;

	&:is(textarea),
	&:is(input) {
		cursor: initial;
	}

	&:is(input[type="checkbox"]),
	&:is(input[type="radio"]:not(:checked)) {
		cursor: pointer;
	}

	@content;
}

@mixin hover() {
	/* stylelint-disable-next-line a11y/selector-pseudo-class-focus */
	&:hover:not(:disabled, [aria-disabled="true"]) {
		@include cursor-pointer() {
			@content;
		}
	}
}

@mixin active() {
	&:active:not(:disabled, [aria-disabled="true"]) {
		@include cursor-pointer() {
			@content;
		}
	}
}
