:is(button, a):not(:disabled):hover {
  cursor: pointer;
}

/* [ BUTTONS ] */
:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning):focus {
  outline: none;
}

:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning) {
  --bg: var(--primary);
  --cl: #fff;
  --bd: none;

  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: max-content;
  max-width: 100%;
  height: 3rem;
  transition: var(--transition);
  padding: calc(0.5rem + 1.5px) 0.75rem;
  cursor: pointer;

  background-color: var(--bg);

  font-family: var(--fontFamily), 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: var(--semi-bold);
  text-decoration: none;
  text-align: center;
  line-height: 1.1;
  color: var(--cl);

  border-radius: var(--radius-1);
  border: var(--bd);
}
:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning):hover {
  color: var(--cl);
  text-decoration: none;
}

/* -------------------------------------------------- */
/* ------------------Primary Button------------------ */

.btn-primario,
.btn-primary {
  --bg: var(--primary);
}
.btn-primario,
.btn-primary,
.btn-primario > i,
.btn-primary > i {
  --cl: #fff;
}
.btn-primario:hover,
.btn-primary:hover {
  --bg: var(--primary-hover);
}

/* -------------------------------------------------- */
/* -----------------Secondary Button----------------- */

.btn-secondary {
  --bg: var(--text);
}
.btn-secondary,
.btn-secondary > i {
  --cl: #fff;
}
.btn-secondary:hover {
  --bg: var(--preto-light);
}

/* -------------------------------------------------- */
/* -------------------Success Button------------------ */

.btn-success {
  --bg: var(--success);
}
.btn-success,
.btn-success > i {
  --cl: #fff;
}
.btn-success:hover {
  --bg: var(--success-hover);
}

/* -------------------------------------------------- */
/* -------------------Danger Button------------------ */

.btn-danger {
  --bg: var(--danger);
}
.btn-danger,
.btn-danger > i {
  --cl: #fff;
}
.btn-danger:hover {
  --bg: var(--danger-hover);
}

/* -------------------------------------------------- */
/* ------------------Warning Button------------------ */

.btn-warning {
  --bg: var(--warning);
}
.btn-warning,
.btn-warning > i {
  --cl: #fff;
}
.btn-warning:hover {
  --bg: var(--warning-hover);
}

/* -------------------------------------------------- */
/* --------------------White Styles------------------ */

:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning).btn-white {
  background-color: #fff;
  color: var(--bg);
}
:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning).btn-white:hover {
  background-color: var(--cinza-light);
  color: var(--bg);
}

/* -------------------------------------------------- */
/* ------------------Outlined Styles----------------- */

:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning).outline {
  background-color: transparent;
  border: solid 2px var(--bg);
  color: var(--bg);
}
:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning).outline:hover {
  background-color: var(--bg);
  color: var(--cl);
}

:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning).outline:is(.active) {
  background-color: var(--bg);
  color: var(--cl);
}
:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning).outline:is(.active):hover {
  background-color: var(--bg);
  color: var(--cl);
}

:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning).btn-white.outline {
  background-color: transparent;
  border: solid 2px #fff;
  color: #fff;
}
:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning).btn-white.outline:hover {
  background-color: var(--cinza-light);
  color: var(--bg);
}

/* -------------------------------------------------- */
/* ------------------General Styles------------------ */

:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning).btn-block {
  width: 100%;
}

:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning).btn-sm {
  height: 2.5rem;
  font-size: 0.85rem;
}
:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning).btn-lg {
  height: 3.5rem;
  font-size: 1.25rem;
}
:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning):disabled,
:is(.btn-primario, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .btn-warning)[disabled] {
  --bg: var(--cinza-light);
  --cl: var(--preto-light);
  cursor: default;
}

/* [ LINKS ] */
:is(.link-primario, .link-primary, .link-secondary, .link-success, .link-danger, .link-warning, .link-white) {
  font-weight: var(--semi-bold);
  color: var(--cl);
  transition: var(--transition);
  text-decoration: none;
}
:is(.link-primario, .link-primary, .link-secondary, .link-success, .link-danger, .link-warning, .link-white):hover {
  color: var(--cl);
  text-decoration: underline;
}

.link-primario,
.link-primary {
  --cl: var(--primary);
}
.link-primario:hover,
.link-primary:hover {
  --cl: var(--primary-hover);
}
.link-secondary {
  --cl: var(--preto-light);
}
.link-secondary:hover {
  --cl: var(--preto);
}
.link-white {
  --cl: #fff;
}
.link-white:hover {
  --cl: var(--cinza-light);
}

:is(.link-pill, .link-pill-primary, .link-pill-secondary, .link-pill-success, .link-pill-danger, .link-pill-warning) {
  display: block;
  padding: 0.25rem 0.5rem;

  font-size: 0.75rem;
  font-weight: var(--semi-bold);
  color: var(--cl);
  text-decoration: none;

  background-color: var(--bg);
  border: none;
  border-radius: 1rem;
  transition: var(--transition);
}
:is(.link-pill, .link-pill-primary, .link-pill-secondary, .link-pill-success, .link-pill-danger, .link-pill-warning):hover {
  transform: scale(1.125);
  color: var(--cl);
  text-decoration: none;
}

/* -------------------------------------------------- */
/* ------------------Primary Pill Link--------------- */
.link-pill-primary {
  --bg: var(--primary-grey);
  --cl: var(--primary);
}

/* -------------------------------------------------- */
/* ------------------Secondary Pill Link------------- */
.link-pill-secondary {
  --bg: var(--cinza);
  --cl: var(--text);
}

/* -------------------------------------------------- */
/* ------------------Danger Pill Link---------------- */
.link-pill-danger {
  --bg: var(--danger-grey);
  --cl: var(--danger);
}

/* -------------------------------------------------- */
/* ------------------Sucess Pill Link---------------- */
.link-pill-success {
  --bg: var(--success-grey);
  --cl: var(--success);
}

/* -------------------------------------------------- */
/* ------------------Warning Pill Link--------------- */
.link-pill-warning {
  --bg: var(--warning-grey);
  --cl: var(--warning);
}
