/* Base */
ms-button {
  display: contents;
}
.ms-button {
  width: fit-content;
  font-family: Poppins;
  display: flex;
  padding: 9px 30px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  align-self: stretch;
  flex-wrap: nowrap;
  text-wrap: nowrap;
  font-size: 16px;
  font-weight: 500;
  line-height: 42px;

  border-radius: 12px;
  border: none;

  font-style: normal;
  cursor: pointer;
  white-space: nowrap;
}

/* THEME: LIGHT */
.ms-button[theme="light"] { /* ex: sign in btn */
  --btn-color: var(--clr-primary);
  background: var(--clr-primary);
  color: var(--clr-primary-contrast);
}

/* THEME: DARK */
.ms-button[theme="dark"] { /* ex: login btn */
  --btn-color: var(--clr-secondary);
  background: var(--clr-secondary);
  color: var(--clr-primary-contrast);
  gap: 10px;
}

/* THEME: OUTLINED */
.ms-button[theme="outlined"] { /* ex: protocols btn */
  --btn-color: var(--clr-primary);
  color: var(--clr-primary);
  border: 2px solid var(--clr-primary);
  background-color: transparent;
}

/* THEME: BLANK */
.ms-button[theme="blank"] { /* ex: protocols btn */
  --btn-color: var(--clr-primary);
  color: var(--clr-primary);
  background-color: transparent;
  padding-left: 0;
  padding-right: 0;
}

/* THEME: TEXT */
.ms-button[theme="text"] { /* ex: prescriptions show/hide */
  --btn-color: var(--clr-primary);
  padding: 2px 4px;
  background-color: transparent;
  color: var(--clr-primary);
  line-height: inherit;
  text-decoration-color: var(--clr-primary);
}

/* ----------------------------- */
/* DESKTOP-ONLY HOVERS/ANIMATION */
/* ----------------------------- */
@media (hover: hover) and (pointer: fine) {
  .ms-button:hover {
    transition: ease all .5s;
  }

  .ms-button[theme="light"]:hover {
    background-color: var(--clr-secondary);
    transition: ease all .5s;
  }

  .ms-button[theme="dark"]:hover {
    background-color: var(--clr-primary);
  }

  .ms-button[theme="outlined"]:hover { /* ex: protocols btn */
    background-color: var(--clr-primary);
    border: 2px solid var(--clr-primary);
    color: var(--clr-primary-contrast);
  }
  .ms-button[theme="outlined"]:hover path { /* ex: protocols btn */
    fill: var(--clr-primary-contrast);
  }

  .ms-button[theme="blank"]:hover { /* ex: protocols btn */
    color: var(--clr-secondary);
    transition: ease all .5s;
  }

  .ms-button[theme="text"]:hover {
    color: var(--clr-secondary);
    transition: ease all .5s;
    text-decoration-color: var(--clr-secondary);
  }

  .ms-button:not([theme="text"]):not([theme="btn-ico"]):hover {
    filter: brightness(110%);
    transition: all 0.1s ease-in-out;
    /* transform: rotate(3deg) scale(1.08); */
    box-shadow: 1px 9px 18px -1px var(--btn-color);
    background-color: var(--btn-color);
  }
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .ms-button,
  .ms-button * {
    transition: none !important;
    animation: none !important;
  }
}
